设计模式六大原则
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中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序的复用性、可维护性等要求。核心:对扩展开放,对修改关闭。
相关文章推荐
- 设计模式六大原则1-单一职责原则
- (随记三)Android设计模式解析与实战_面对对象六大原则之里式替换原则
- 一句话评论设计模式六大原则
- IOS设计模式的六大设计原则之依赖倒置原则(DIP,Dependence Inversion Principle)
- 设计模式的六大原则
- 设计模式六大原则(4):接口隔离原则
- 设计模式六大原则
- 设计模式-六大原则
- 设计模式六大原则(5):迪米特法则
- 设计模式六大原则
- 设计模式六大原则-OCP
- 设计模式六大原则(5):迪米特法则
- 设计模式六大原则(1):单一职责原则
- 设计模式六大原则
- 设计模式六大原则(6):开闭原则
- 设计模式六大原则总结
- 设计模式的六大原则
- 浅谈设计模式的六大原则
- 设计模式六大原则
- 设计模式六大原则(PHP)