设计模式day1
解决:耦合性、内聚性、可维护、可扩展、重用性、灵活性
7大原则:单一职责、接口隔离、依赖倒置、迪米特、开闭、里氏替换、合成复用
单一职责:一个类只负责一项职责(类功能单一或方法功能单一)
接口隔离:客户端不应该依赖他不需要的接口 (最小接口:用不到的方法拆出去)(根据接口方法的调用关系,拆分接口)
依赖倒置:核心-面向接口编程。高层依赖底层抽象(接口),细节依赖抽象(接口)
里氏替换:(如何正确使用继承)子类尽量不要重写父类的方法。如果要改,通过使用依赖、聚合、组合的关系替换。(里氏替换效果:所有引用基类的地方必须能透明地使用其子类的对象)
开闭:对扩展开发(对提供方),对修改关闭(对使用方)
迪米特:一个对象应该对其他对象保持最少的了解(最少知道原则),只与直接朋友通信(直接朋友:成员变量、方法参数、方法返回值。方法内局部变量(陌生朋友)不算),也就是说,陌生类尽量不要以局部类出现。作用:降低类之间的耦合
合成复用:尽量使用聚合方式,而不是使用继承
设计模式的核心:面向接口编程、松耦合
以此纪念陪伴我十年的狗狗