重温设计模式之七大原则
-
开闭原则
开闭原则要求当应用需求改变时,在不改变源代码或二进制代码的前提下,可以拓展模块的功能,以满足新的需求。
里氏替换原则
里氏替换原则要求子类可以拓展父类的功能,但不能改变父类原有的功能。
里氏替换原是继承复用的基础,它反映了基类与子类之间的关系,是对开闭原则的补充,是对实现抽象化的具体步骤的规范。依赖倒置原则
依赖倒置原则要求要面向接口编程,不要面向实现编程。
依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。
依赖倒置原则的目的是通过要面向接口的编程来降低类间的耦合性。单一职责原则
单一职责原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:
- 一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
- 当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。
接口隔离原则
接口隔离原则(Interface Segregation Principle,ISP)要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。
接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想,但两者是不同的:- 单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。
- 单一职责原则主要是约束类,它针对的是程序中的实现和细节;接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。
迪米特原则
迪米特法则(Law of Demeter,LoD)又叫作最少知识原则,定义是:只与你的直接朋友交谈,不跟“陌生人”说话。
迪米特法则中的“朋友”是指:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等,这些对象同当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法。合成复用原则
合成复用原则又叫组合/聚合原则,它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
如果要使用继承关系,则必须严格遵循里氏替换原则
-
学习了学习了!
-
@fantasticpsq 有学到
-
太棒了!学到了许多
-
太棒了,向你学习!
-
真不错,太强了
-
学习到了!
-
牛的牛的!