2.七大原则是什么
2.1 题目
面向对象的七大原则分别是什么?并选择其中一个原则说明它的意思
2.2 深入解析
单一职责原则
一个类只处理自己应该处理的内容,不应该啥都写在一起
开闭原则
对扩展开放,对修改封闭。新加功能尽量通过新增代码完成,而非反复改动已稳定模块
里氏替换原则
任何地方子类都能替代父类,父类容器装子类
依赖倒转原则
不要依赖具体的实现,要依赖抽象(接口)
迪米特法则
又称最少知识原则,一个类要尽量减少对别的类的了解,尽量少用别的类和自己关联
接口隔离原则
不应该强迫别人依赖他们不需要使用的方法
一个接口不需要提供太多的行为,一个接口应该尽量只提供一个对外的功能,让别人去选择需要实现什么样的行为,而不是把所有的行为都封装到一个接口当中
合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的
继承关系是强耦合,组合关系是低耦合
除非设计上需要继承,否则尽量用组合复用的形式
2.3 答题示例
“面向对象的七大设计原则是:
- 单一职责原则(SRP)
- 开闭原则(OCP)
- 里氏替换原则(LSP)
- 依赖倒转原则(DIP)
- 接口隔离原则(ISP)
- 迪米特法则(LoD)
- 合成复用原则(CRP)
以“开闭原则”为例:对扩展开放、对修改封闭,意味着当需求变化时,我们通过增加新代码(如新增类或实现)来扩展功能,而不是改动已有稳定的、经过测试的代码,从而降低风险并提高系统可维护性。”
2.4 关键词联想
- SRP:单一职责
- OCP:开闭——扩展 vs 修改
- LSP:里氏替换
- DIP:依赖倒转
- ISP:接口隔离
- LoD:迪米特法则
- CRP:合成/复用
- 低耦合/高内聚
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com