「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战」
对待设计模式可以直接,可以规划关于系统的稳定性以及可持续发展性的考虑中会显示出来,因为代码的结构型优化被提出来了
1.设计模式的提出
1994年, 四个程序从业者合著了一本名为《设计模式-可复用的面向对象软件元素》
Design Patterns -Elements of Reusable Object-Oriented software的书籍‘
首次提出设计模式的概念;
总结:
对接口编程,而不是对实现编程( 对标准编程而不是实现类编程)
优先使用对象组合而不是继承
2.设计模式的基石:
继承,封装,多态;
3.设计模式的分类
- 创建型 模式(Creational patterns)
- 结构型
- 行为型
从定义-->创建--->行为型的;
4.设计模式的七大原则:(需要考虑的)
- 开闭原则: 对扩展开放,对修改关闭
- 里氏替换原则:继承父类,而不是改变父类(子类一般不会重写父类的方法)
- 依赖导致原则: 面向接口编程,而不是实现编程( 抽象不应该依赖于细节,细节依赖于抽象)
接口A, 属于高度抽象的物质
实现类A1属于细节实现的类
如果B1要使用A的信息, 只能是使用A的接口,而不是细节的A1;
controller-->serveice(实现接口)
- 单一职责原则:精细化细粒度的单一功能类,(每个类只负责自己的事情)
5.接口隔离原则: 每个类应该有自己的专用的接口,而不是万能的接口
6.迪米特法则:
最少知识原则, (无需直接交互的两个类, 需要交互,使用中间者)
过多使用此原则,会导致中间类增加,通信效率降低
7.合成复用原则:(当做属性去使用)
优先组合 其次继承
组合: 比如A中有要使用B中的方法, 一般是继承,但是为了良好的扩展性,
我们直接可以使用在A中建立属性, T B, 然后使用B.4()