【设计模式】概述

1. 概述

设计模式在我们的系统开发过程是非常有用的,尤其是在很多比较复杂,扩展性要求比较高的系统。

同时,在一些比较常见的、优秀的框架中,设计模式也有着非常重要的应用。

设计模式没有现成的套路模板,不是教条式的照搬,需要我们熟悉设计模式理念,并结合平时的系统开发工作,才能更好的理解设计模式,从而提高我们的系统设计能力,进而提高自身的技术水平。不善于利用设计模式开发系统,则自身的技术水平就只能局限于简单的功能、接口开发,更别说什么架构设计等能力了。

本栏目是结合一些常见的例子,挨个介绍一下23种设计模式,让我们对这些设计模式有罪基本的了解,有了最基本的了解才能更深入的理解设计模式思想。


2. 23种设计模式

1. 创建型模式,共五种

2. 结构型模式,共七种

  • 适配器模式 (Adapter Pattern)

  • 装饰器模式 (Decorator Pattern)

  • 代理模式 (Proxy Pattern)

  • 外观模式 (Facade Pattern)

  • 桥接模式 (Bridge Pattern)

  • 组合模式 (Composite Pattern)

  • 享元模式 (Flyweight Pattern)

3. 行为型模式,共十一种

  • 策略模式 (Strategy Pattern)

  • 模板模式 (Template Pattern)

  • 观察者模式 (Observer Pattern)

  • 迭代器模式 (Iterator Pattern)

  • 责任链模式 (Chain of Responsibility Pattern)

  • 命令模式 (Command Pattern)

  • 备忘录模式 (Memento Pattern)

  • 状态模式 (State Pattern)

  • 访问者模式 (Visitor Pattern)

  • 中介者模式 (Mediator Pattern)

  • 解释器模式 (Interpreter Pattern)


3. 设计模式七大原则

一、单一职责原则

二、接口隔离原则

三、依赖倒转(倒置)原则

四、里氏替换原则

五、开闭原则

六、迪米特法则

七、合成复用原则


设计模式的目的

  1. 代码重用性(即:相同功能的代码,不用多次编写)
  2. 可读性
  3. 可扩展性
  4. 可靠性
  5. 使程序高内聚、低耦合

懂了设计模式,就懂了面向对象分析和设计(OOA/D)的精要

1) 单一职责原则(Single Responsibility Principle)

基本介绍
对类来说,即一个类应该只负责一项职责。如果A服务两个不同职责:职责1、职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1、A2。

单一职责原则注意事项和细节
1)降低类的复杂度,一个类只负责一项职责;
2)提高类的可读性、可维护性;
3)降低变更引起的风险;
4)通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则。


2) 接口隔离原则 (Interface Segregation Principle)

基本原则
1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上;

2) 类A通过接口Interface1去依赖类B,类C通过Interface2去依赖类D,如果接口Interface1对于类A和类来说不是最小接口,那么类B和类D必须去实现它们不需要的方法;

3)接口隔离原则应该这么处理
将接口Interface1拆分为独立的几个接口,类A和类C分别与它们需要的接口建立依赖关系,也就是采用接口隔离原则。

3) 依赖倒转原则 (Dependence Inversion Principle)


4) 里氏替换原则 (Liskov Substitution Principle)


5) 开闭原则 (Open Closed Principle)


6) 迪米特法则 (Demeter Principle)

also called Principle of Least Knowledge —— 知道最少原则


7) 合成复用原则 (Composite Reuse Principle)


4. 设计模式核心思想


5. 参考文献

[1] https://blog.csdn.net/qq_35669659/article/details/123145226

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值