接下来的30天里,我将带领大家一起学习设计模式,以前总觉得设计模式很复杂,在一般的常规编程中很少使用到,仔细阅读后发现,之前的想法是多么无知。如果一个编程人员想提升自己,想让自己更加值钱,那么代码规范,设计模式这些术层面的知识点也是需要了解和掌握的。
其实在日常的开发中,我们或多或少都会使用到设计模式,只是大家不太清楚而已。比如我们经常使用到的单例模式,工厂模式等。
楼主主要从事C#开发,程序中举例的代码使用C#。
设计模式总览
(抽象、封装、继承、多态)是面向对象(OO)的基本概念,OO原则时我们的目标,设计模式是我们的做法。
设计模式总共有23种,从大的结构上进行划分,可分为3大类,依次是创建型模式、结构型模式、行为模式。
创建型模式
这类模式是创建对象的机制,可以提升已有代码的灵活性和可服用性。
- 生成器
- 原型
- 单例
结构型模式
介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。
- 适配器
- 桥接
- 组合
- 装饰
- 外观
- 享元
- 代理
行为模式
这类模式负责对象间的高效沟通和职责委派。
- 责任链
- 命令
- 迭代器
- 中介者
- 备忘录
- 观察者
- 状态
- 策略
- 模版方法
- 访问者
如果你只有一把铁锤,那么任何东西看上去都像钉子。那么我们要努力让自己手里拥有多个铁锤。
最基础的,底层的模式通常被称为惯用技巧,这类模式一般只能在一种编程语言中使用。
最通用的,高层的模式是架构模式,我们可以在任何编程语言中使用这类模式,与其他模式不同,它们可用于整个应用程序的架构设计。