写点什么

架构师训练营 - 学习笔记 - 第三周

用户头像
徐时良
关注
发布于: 2020 年 10 月 05 日

设计模式

一、创建型

1.工厂模式

简单工厂

当每个对象的创建逻辑都比较简单的时候,将多个对象的创建逻辑放到一个工厂类中,这个类就是简单工厂。

简单工厂的代码实现中,有多处 if 分支判断逻辑,不符合开闭原则,可以对简单工厂进行改造,将 if 分支判断逻辑放入到配置文件中,这样就符合开闭原则了。

最后还可以通过配置的方式来进一步的消除简单工厂的对象创建。



2.模式

一个类只允许创建一个对象,这种设计模式就叫单例。

单例的实现由多种:

• 饿汉式

• 懒汉式

• 双重检测

• 静态内部类

二、结构型

1.适配器模式

适配器模式是用来做适配,将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式有两种实现方式:

• 类适配器

• 对象适配器

实际开发中,什么情况下会出现接口不兼容?

• 封装有缺陷的接口设计

• 统一多个类的接口设计

• 替换依赖的外部系统

• 兼容老版本接口

• 适配不同格式的数据



2.装饰模式

装饰者主要解决继承关系过于复杂的问题,通过组合来替代继承。

主要作用是给原始类添加增强功能,同时还可以给原始类嵌套使用多个装饰器。

装饰模式和适配器模式的区别是:装饰模式不改变原有接口,而适配器模式会改变接口。



3.组合模式

将一组对象组织成树形结构,将单个对象和组合对象都看做树中的节点,以统一处理逻辑,并且它利用树形结构的特点,递归地处理每个子树,依次简化代码实现。

三、行为型

1.模板方法

模板模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。

模板模式有两大作用:

• 复用

复用指所有的子类可以复用父类中提供的模板方法的代码

• 扩展

扩展指框架通过模板模式提供功能扩展点,让框架用户可以在不修改框架源码的情况下,基于扩展点定制化框架的功能。



用户头像

徐时良

关注

还未添加个人签名 2018.08.24 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 学习笔记 - 第三周