设计模式原则
架构中的设计原则
单一职责原则:系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。
里氏替换原则:在任何父类出现的地方都可以用它的子类来替换。
- 子类必须完全实现父类的方法
- 子类可以有自己的特性
- 覆盖或者实现父类的方法时输入参数可以被放大
- 覆写或者实现父类的方法时输出结果可以被缩小。
依赖注入原则(依赖反转原则):要依赖于抽象,不要依赖于具体的实现。
三点说明:
- 高层模块不应该依赖低层模块,两者都应该依赖于抽象(抽象类或接口)
- 抽象(抽象类或接口)不应该依赖于细节(具体实现类)
- 细节(具体实现类)应该依赖抽象
实现方式:
- 通过构造函数传递依赖对象
- 通过setter方法传递依赖对象
- 接口声明实现依赖对象
接口分离原则:不应该强迫客户程序依赖它们不需要使用的方法。
迪米特原则:一个对象应当对其他对象尽可能少的了解。
开闭原则:一个对象对扩展开放,对修改关闭。
合成复用原则:尽量使用合成/聚合的方式,而不是使用继承。
接口
- 接口的思想就是“封装隔离”
- 接口与抽象类的选择
- 优先使用接口;
- 在既要定义子类行为,又要为子类提供公共的功能时应选择抽象类;
设计模式分类
创建型模式:抽象了对象实例化的过程,用来帮助创建对象的实例。
(工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式)
结构型模式:描述如何组合类和对象以获得更大的结构。
(适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
行为型模式:描述算法和对象间职责的分配。
(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
本文作者:huihui_teresa
本文链接:https://www.cnblogs.com/huiteresa/p/17411307.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步