目录
https://www.jianshu.com/p/63df8cd03619
Gitee仓库地址
https://gitee.com/TK_LIMR/java-design-patterns.git
友情地址
算法和数据结构:https://www.jianshu.com/p/929ca9e209e8
一、设计模式常用的七大原则有:二十三中设计模式都脱离不开这些原则(规则)
- 单一职责原则(各行其职,互不影响)
https://www.jianshu.com/p/c32dd0c9b2c1- 接口隔离原则(接口拆分)
https://www.jianshu.com/p/fb5bf9b57948- 依赖倒转(倒置)原则(高层不依赖低层,高层为接口和抽象类,低层为实体类)
https://www.jianshu.com/p/ba43e8261990- 里氏替换原则
https://www.jianshu.com/p/a4cce818c18e- 开闭原则
https://www.jianshu.com/p/4aaebbb0ea9d- 迪米特法则
https://www.jianshu.com/p/d40c005bcb90- 合成复用原则
https://www.jianshu.com/p/6da8217689d6
二、设计模式三大类:
三、设计模式组合变异使用 XS系列
要点:
接口和抽象类,在设计模式中体现出重要性
一般框架设计中,顶层不是接口就是抽象类(高层)
七大原则和二十三中设计模式并非固定(会有异变出更多种的可能,但是最常规的是这几种)
好处
编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重
用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好
1、代码重用性 (即:相同功能的代码,不用多次编写)
2、 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)
3、可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)
4、可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)
5、 使程序呈现高内聚,低耦合的特性
个人理解:
数据结构和算法觉得学习难度大,运用则容易些
设计模式学习难度不大,运用反而需要灵活(不容易)
UML图说明:
1、合成:就是 A 类 定义一个 属性 B ,写一个构造方法,用形参把 B 传进来,就是合成。
2、聚合:就是 A 类 内 声明 一个 B 类为 属性 ,再加一个 setB 方法 通过调用 setB 传进来
3、组合:就是 A类 内 声明 一个B 类 为属性,并且 new B()