什么是设计模式
设计模式是前人对编程的总结。 在所谓前人栽树,后人乘凉,学习前人踩过的坑是提高自己编程实力的一个好途径。
为什么要学习设计模式
原因大致如下:
* 让自己写出更加高内聚,松耦合的代码
* 让自己开发出“可维护,可拓展”的代码
* 让自己以后快速入门一个API
* 学习Spring的必备前置技能
如何学习设计模式
学习设计模式不可避免必然是知道现在主流设计模式的来源和种类。
现在主流的设计模式有23种,来源于GOF。
GoF是其实书籍《Design Patterns:Elements of Reusable Object-Oriented Software》的四位大牛的缩写Gang of Four(四人帮)。这四个大牛分别为: Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。
学习设计模式的就是要学习,为什么会产生该种设计模式,这种设计模式是为了解决什么问题,该设计模式的UML类图是怎么样的?什么时候可以用这种设计模式。
设计模式内容一览
对接下来学习的设计模式,大纲为:
六大原则
六大原则是设计模式的总纲领,23种设计模式都遵循该六大原则:
- Open Closed Principle(开闭原则)
- Liskov Substitution Princple(LSP,里氏包换原则)
- Dependence Inversion Principle(依赖倒置原则)
- Interface Segregation Principle(接口隔离原则)
- Demeter Principle (迪米特法则 - 最少知道原则)
开闭原则
开闭原则说的是对拓展开发,对修改关闭。在程序需要进行拓展的时候,不能去修改原有代码,实现一个热插拔的效果。一句话概括:为了使程序的拓展性更好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。
里氏代换原则
里氏代替原则是面向对象设计的基本原则之一。里氏代替原则中说,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,用衍生类才能够在基类的基础上增加新的行为。
依赖倒置原则
这个是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。
接口隔离原则
这个原则的意思是:使用多个隔离的接口,比使用单个接口更好。
最少知道原则
就是说:一个实体应当尽量少的于其他实体之间发生相互关系,使得系统功能模块相对独立。
合成复用原则
就是尽量少使用继承,多使用聚成和复核(这三者的概念分别是什么? 有什么区别)。
23中涉及模式及其分类
设计模式中总共有23种,按照某些标准还可以把他们分类。
| 分类 | 包含 | 备注 |
| :----- | :----- | :----- |
|创建型模式 | | |
|结构型模式 | | |
|行为型模式 | | |
原文地址:https://www.cnblogs.com/ylhong/p/11628127.html