概述
设计模式六大原则
- 1. 单一指责原则
- 优点
- 2. 接口隔离原则
- 3.依赖倒转原则
- 4. 里氏替换原则
- 5. 开闭原则
- 修改
- 扩展
- 优点:
- 6. 迪米特法则(最少知道原则)
1. 单一指责原则
该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:
一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。
优点
- 降低类的复杂度。一个类只负责一项职责,其逻辑肯定要比负责多项职责简单得多。
- 提高类的可读性。复杂性降低,自然其可读性会提高。
- 提高系统的可维护性。可读性提高,那自然更容易维护了。
2. 接口隔离原则
客户端不需要依赖他不需要的接口,可以使用多个隔离的接口,选择性的依赖,它强调降低依赖,降低耦合。
调整后
3.依赖倒转原则
核心是面向接口编程,依赖于抽象而不依赖于具体
4. 里氏替换原则
所有使用基类的地方必须可以透明的使用子类(子类尽量不要重写父类的方法)。
继承实际上让两个类的耦合性增强,可以让原有的子类和父类继承一个通俗的父类,原来的继承关系去掉,通过聚合,组合,依赖来解决问题。
解决方案:
5. 开闭原则
对扩展开放,对修改关闭。
其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。
修改
可以分为两个层次来分析。一个层次是对抽象定义的修改,如对象公开的接口,包括方法的名称、参数与返回类型。
1.我们必须保证一个接口,尤其要保证被其他对象调用的接口的稳定。下面的案例很明显示例2比示例1更加稳定。
//定义1
bool Connect(string userName, string password, string ftpAddress, int port);
//定义2
bool Connect(Account account);
2.另一个层次是指对具体实现的修改。"对修改封闭"是开放封闭原则的两个要素之一。原则上,要做到避免对源代码的修改。这是因为具体实现的修改,可能会给调用者带来意想不到的结果,如果确实需要修改具体的实现,就需要做好达到测试覆盖率要求的单元测试。,其核心指导原则就是封装与充分的测试。
扩展
对象的多态则保证了这种扩展的开放性
由于我们对扩展实现了开发,才能保证对修改的关闭。开放利用了对象的抽象,封闭则在一定程度上利用了封装。最佳的做法仍然是要做到分离对象的变与不变,将对象不变的部分封装起来,并遵循良好的设计原则以保障接口的稳定;至于对象中可能变的部分,则需要进行抽象,以建立松散的耦合关系。
优点:
- 帮助缩小逻辑粒度,以提高可复用性;
- 可以使维护人员只扩展一个类,而非修改一个类,从而提高可维护性;
6. 迪米特法则(最少知道原则)
核心是降低类之间的耦合。
案例分析:https://blog.csdn.net/benbenxiongyuan/article/details/24021039
最后
以上就是火星上滑板为你收集整理的设计模式六大原则1. 单一指责原则2. 接口隔离原则3.依赖倒转原则4. 里氏替换原则5. 开闭原则6. 迪米特法则(最少知道原则)的全部内容,希望文章能够帮你解决设计模式六大原则1. 单一指责原则2. 接口隔离原则3.依赖倒转原则4. 里氏替换原则5. 开闭原则6. 迪米特法则(最少知道原则)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复