架构师训练营第 1 期第三周学习总结

用户头像
郑凯元
关注
发布于: 2020 年 10 月 04 日

设计模式

定义

每种模式描述的是一种类型问题的通用解决方案,是属于一种可重复使用的解决方案

四要素
  • 模式名称 - 少量词汇组成的名字,有助于我们表达设计

  • 待解问题 - 描述何时何地运用这种模式

  • 解决方案 - 描述组成设计的元素(类和对象)、它们的关系、职责以及合作。注意:解决方案是抽象的,不是代表具体实现

  • 结论 - 运用这种方案的带来的利和弊。主要针对其对系统的弹性、扩展性和移植性的影响,相当于事物的一体两面性



分类

功能划分:

创建模式:关于类的实例化过程的抽象

结构模式:类与对象结合组合成更大的结构

行为模式:对在不同的对象之间划分责任和算法的抽象

方式划分:

类模式:以继承的方式实现模式,属于静态的

对象模式:以组合的方式实现模式,属于动态的



单例模式

使用因素:

性能需求:只有一个实例,可减少实例频繁创建和销毁带来的资源开销

功能需求:使用一个实例,便于多用户场景使用下进行统一控制

适配器模式

基于已存在满足新需求的现有功能的类,但是类的接口与需要的不一致,我们通过定义我们需要使用的接口,定义其相关的实现类,在实现类中进行整合现有功能类的调用,以此来达成我们需要的需求目的



模版方法模式

属于一种类的行为模式

通过继承的方式类实现扩展:

基类负责算法的轮廓和骨架

子类负责算法的具体实现

形式:

抽象方法:可强制子类实现相关步骤

具体方法:不需子类强制覆盖,可选择性覆盖,基类可使用final类控制可否覆盖

钩子方法:子类可选择性覆盖,在特定的时机执行相关事物

策略模式

属于一种对象的行为模式

是通过组合的方法来实现扩展

使用时机:

系统在多种处理中选择其一

重构系统,条件语句可转换成策略的多态性调用

对比模版方法的优点:

将策略的使用者和策略的具体实现进行了分离

策略对象可以自由组合

可能存在的问题:

只封装了策略的具体实现,但是其使用时机必须有客户端来决定

组合模式

属于一种对象的结构模式

组合优于继承

装饰器模式

属于一种对象的结构模式

作用:

在不改变对客户端的接口前提下,扩展现有对象的功能

用户头像

郑凯元

关注

还未添加个人签名 2018.04.28 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 1 期第三周学习总结