设计模式
2020-06-29 本文已影响0人
司徒伯明
类图 各个类之间的关系
时序图
设计原则 SOLIS
开闭原则(Open-Close)
一个软件实体如类,模块和函数应该应该对扩展开发,对修改关闭
用抽象构建框架 用实现扩展细节 //方法最好是加 不要修改
单一职责原则(Single Responsibility)
一个类只负责一个职责,降低类的复杂度提高可读性
接口隔离原则(Interface Segregation)
我们在进行类接口设计时,如果一个接口定义方法太多,其子类则可能面临两难,因为可能只需要实现部分接口
迪米特法则
一个对象应该对其他对象保持最少的了解 尽量降低类与类之前的耦合
强调只和朋友交流,不和陌生人说话
里氏替换原则(Liskov Subsitution)
简称LSP ,意思是说进行抽象时,凡时可以用父类的地方,都可以用子类替换。
Design by Contract
接口隔离原则(ISP)
客户端不应该强迫依赖它不需要的的接口
把接口理解为 OOP
依赖反转,控制反转
控制反转的设计思想
依赖注入(DI)
依赖反转原则(DIP)
高层模块不应该依赖底层模块 二者都可以依赖其抽象,抽象不应该依赖细节;细节应该依赖抽象,针对接口编程 而不是针对实现,可以减少耦合性 提高系统稳定性 提高代码可读性和可维护性 降低修改代码所造成的风险
合成/复用原则
设计模式
工厂模式
-
简单工厂
适用场景:工厂类负责创建的对象比较少
客户端:只知道传入工厂类的参数对于如何创建对象并不关心 -
工厂方法
让类的实例化推迟到子类中进行
代理模式
如何实现一个代理模式,Mybatis 中的代理模式