您的位置:首页 > 其它

设计模式六大原则

2017-12-04 10:39 225 查看

前言

为了让我们的代码有更佳的健壮性和可扩展性,我们在开发的时候应该遵循设计模式的六大原则,下面向大家介绍一下所谓的六大原则到底是什么。

1、里氏置换原则(LSP)

只要父类出现的地方子类就能够出现,而且替换为子类不会产生任何错误或异常。这个原则是为良好的继承定义一个规范:

子类必须完全实现父类的方法

子类有自己的特性

覆盖或者实现父类的方法时输入参数可以被放大或缩小

2、依赖倒置原则(DIP)

要依赖于抽象,不要依赖于实现。说白了就是要依赖于抽象类和接口不要依赖具体类,具体类也就是我们可以用new关键字实例化的类。依赖倒转原则是实现开闭原则的一个手段。其实说白了就是我们通常所说的面向接口编程。依赖倒置有三种实现方式:

通过构造函数传递依赖对象

通过setter方法传递依赖对象

接口声明实现依赖对象

3、接口隔离原则(ISP)

该原则要求的是在一个模块应该只依赖它需要的接口,保证接口的纯净,同时保证接口尽量细小化。

客户端不应该强行依赖它不需要的接口

类间的以依赖关系应建立在最小的接口上

接口分为2种:

对象接口(object interfa)

类接口(class interface)

4、单一职责原则(SRP)

接口一定要采用单一职责原则,实现类的设计上尽可能做到单一职责原则,最好是一个原因引起一个类的变化。简单的说,就是一个类负责一个职责。

5、迪米特法则(LOD)

迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用性才可以提高。形象一点的比喻类似于:监狱内的犯人是不应该跟外面的人接触的,当然或许会有探亲的。这里的监狱就是类,里面的犯人就是类内部的信息,而监狱里的狱警就相当于迪米特法则的执行者。

定义:一个类的对象应该对其他对象了解最少

还有如下一些关于应用迪米特法则的注意事项:

在类的划分上,应该创建有弱耦合的类;

在类的结构设计上,每一个类都应当尽量降低成员的访问权限;

在类的设计上,只要有可能,一个类应当设计成不变类;

在对其他类的引用上,一个对象对其它对象的引用应当降到最低;

尽量降低类的访问权限;

谨慎使用序列化功能;

不要暴露类成员,而应该提供相应的访问器(属性)。

6、开闭原则(OCP)

开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序的复用性、可维护性等要求。

核心:对扩展开放,对修改关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: