Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
前言
设计模式其实并不神秘,今天carson将带你了解一切关于设计模式的知识。
Carson带你学设计模式系列文章 Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南 Carson带你学设计模式:单例模式(Singleton) Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern) Carson带你学设计模式:工厂方法模式(Factory Method) Carson带你学设计模式:抽象工厂模式(Abstract Factory) Carson带你学设计模式:建造者模式(Builder Pattern) Carson带你学设计模式:适配器模式(Adapter Pattern) Carson带你学设计模式:外观模式(Facade Pattern) Carson带你学设计模式:静态代理模式(Proxy Pattern) Carson带你学设计模式:动态代理模式(Proxy Pattern) Carson带你学设计模式:模板方法模式(Template Method) Carson带你学设计模式:策略模式(Strategy Pattern) Carson带你学设计模式:观察者模式(Observer)
目录
1. 定义
某类特定问题的代码设计解决方案,实际上是一套针对某类问题的代码设计经验总结。
2. 作用
- 提高代码复用率,降低开发成本和周期;
- 提高代码可维护性、可拓展性;
- 使代码更加优雅、更容易被他人理解。
3. 设计原则
在设计模式进行设计时需要遵循以下七个原则:
4. 类型
设计模式的类型总共分为:3大类、23种具体设计模式,具体如下:
标红即为较常使用的设计模式,在下节会详细介绍。
5. 常用设计模式
针对三种设计模式类型,常见的设计模式是:
- 创建型:单例模式、工厂方法模式(及 变式)、建造者模式;
- 结构型:适配器模式、代理模式、门面(外观)模式;
- 行为型:策略模式、观察者模式
5.1 创建型
此处主要讲解常见的是:单例、工厂方法(及 变式:工厂方法模式、抽象工厂模式)、建造者模式。
具体介绍请看文章:
- Carson带你学设计模式:单例模式(Singleton)
- Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern)
- Carson带你学设计模式:工厂方法模式(Factory Method)
- Carson带你学设计模式:抽象工厂模式(Abstract Factory)
- Carson带你学设计模式:建造者模式(Builder Pattern)
5.2 结构型
此处主要讲解常见的是:适配器模式、代理模式、门面(外观)模式。
具体介绍请看文章:
- Carson带你学设计模式:适配器模式(Adapter Pattern)
- Carson带你学设计模式:外观模式(Facade Pattern)
- Carson带你学设计模式:静态代理模式(Proxy Pattern)
- Carson带你学设计模式:动态代理模式(Proxy Pattern)
5.3 行为型
此处主要讲解常见的是:策略模式、观察者模式 和模板方法模式。
具体介绍请看文章:
- Carson带你学设计模式:策略模式(Strategy Pattern)
- Carson带你学设计模式:观察者模式(Observer)
- Carson带你学设计模式:模板方法模式(Template Method)
至此,关于常见的设计模式讲解完毕。
6. 总结
- 本文对设计模式的定义进行了全面介绍
- 接下来我会对每种设计模式进行详细的分析
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击