设计模式原理还不知道吗?这篇让你彻底明白

245 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

1.谈谈你对设计模式的理解

1.首先谈设计模式的作用:经验的传承,提高了软件复用的水平,最终达到提高软件开发效率

设计原则简单说明
单一职责一个类只负责一项职责
里氏替换原则子类可以扩展父类的功能,但不能改变父类原有的功能
依赖倒置原则要依赖于抽象,不要依赖于具体,核心思想是面向接口编程
接口隔离原则建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少
迪米特法则 (最少知道原则)一个对象应该对其他对象保持最少的了解
开闭原则对扩展开放,对修改关闭

(1)单一职责原则有什么好处

  1. 类的复杂性降低,实现什么职责都有清晰明确的定义;

  2. 读性提高,复杂性降低,那当然可读性提高了;

  3. 可维护性提高,可读性提高,那当然更容易维护了;

  4. 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接 口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护 性都有非常大的帮助。

(2)里氏替换原则好处

  1. 子类必须完全实现父类的方法

  2. 子类可以有自己的个性

  3. 覆盖或实现父类的方法时输入参数可以被放大

  4. 覆写或实现父类的方法时输出结果可以被缩小

(3)依赖倒置原则好处

  1. 依赖倒置原则可以降低类间的耦合性。

  2. 依赖倒置原则可以提高系统的稳定性。

  3. 依赖倒置原则可以减少并行开发引起的风险。

  4. 依赖倒置原则可以提高代码的可读性和可维护性。

(4)接口隔离原则好处

  1. 接口隔离原则是为了约束接口降低类对接口的依赖性

  2. 接口隔离提高了系统的内聚性,减少了对外交互,降低了系统的耦合性

  3. 能减少项目工程中的代码冗余。过大的大接口里面通常放置许多不用的方法,当实现这个接口的时候,被迫设计冗余的代码。

(5)迪米特原则好处

  1. 降低了类之间耦合度,提高了模块的相对独立性。

  2. 亲和度降低,提高了类的可复用率和系统的扩展性。

(6)开闭原则好处

  1. 使变化中的系统有一定的适应性和灵活性。通过扩展已有的软件系统,提供新的功能,满足新的需求。

  2. 使变化中的软件系统有一定的稳定性和延续性。已有的软件模块,特别是抽象层模块不能修改。

2.设计模式的分类

image.png

3.创建型模式:都是用来帮助我们创建对象的!

image.png

4.结构性模式:关注对象和类的组织

image.png

5.行为型模式:关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11中模式

image.png