这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战
设计模式
设计模式的本质是面向对象设计原则的实际运用,对类的封装、继承、多态以及类的关联关系和组合关系的充分理解
设计模式在所有面向对象的语言中都可以使用
设计模式的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强
设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度
设计模式并不局限于某种语言
内聚就是把自己的方法封装起来,别人只需要调用此方法就有相应的功能,比如一个类它的循环输出放到别人的类里面了,那么这时候需要把它的循环输出封装在自己的类里面,然后对外暴露一个public打印方法供外部调用即可,这样便实现高内聚
面向对象设计7大原则
1. 开闭原则 (重要)(OCP原则)
对扩展开放,对修改关闭。 有两个功能块,新增第三个功能块不会影响前两个功能块
2. 里式替换原则
子类可以扩展父类的功能,但不要改变父类的原有的功能。
子类尽量不要重写父类的方法
这个原则告诉我们,继承实际上让两个类耦合性增强了,在适当情况下,可以通过聚合,组合,依赖来解决问题就不要使用继承
3. 依赖倒置原则
要面向接口编程,不要面向实现编程。抽象不依赖细节,细节依赖抽象
抽象指的是接口或者抽象类,细节就是具体的实现类
接口或抽象类的目的是为了制定好规范
依赖关系传递有三种方式:
- 接口传递
- 构造方法传递
- setter方式传递
4. 单一职责原则
控制类的力度大小、 一个类就做这类事,一个方法就做一件事。将对象解耦、提高其内聚性。
也可以在方法做单一职责原则
每个类的职责要单一
if else if 慎用,他会增加耦合性
5. 接口隔离原则
为各个类建立它们需要的专用接口
设计接口时要保证他精简,单一
结尾
还有两个法则我们放到下一篇章来讲,合成复用与迪米特法则。