设计模式简化记忆

Posted henreash

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式简化记忆相关的知识,希望对你有一定的参考价值。

1、设计7大法则

类与接口要单一,(职责功能单一原则)

接口过大需隔离。(接口隔离,依赖最小接口)

面向接口做设计,(依赖反转,面向接口设计)

聚合组合写类里。(里氏替换,过多的继承重写,导致里氏替换法则被破坏,多采用组合聚合)

扩展不改实现块,(开闭法则,新增功能不能去修改已有实现)

开闭法则牢牢记。(开闭法则是7大法则的核心)

固定问题用模式,(设计过程中预测到可能发生的变化,早做规划,将稳定功能和易变功能区别对待)

系统变化早处理。

 

2、uml类图

参数返回叫依赖,(做类的成员函数参数和返回值的其他类,构成了依赖关系)

实线箭头互相连。

外来成员是聚合,(做类的成员,而且是三方负责实例化的,叫聚合)

空心菱形加实线。

自建成员为组合,(做类的成员,内自实例化的,叫组合)

菱形变成黑色块。

聚合组合是依赖,(聚合、组合都是依赖的特例)

优先使用解耦合。(优先使用聚合组合,减少继承)

 

3、设计模式

用一个类根据条件创建其他类----简单工厂

将简单工厂模式中的工厂类抽象出来,实现多态----工厂模式

工厂的子类出产不同品牌的同类产品----抽象工厂(如海尔生产海尔冰箱、海尔洗衣机;美的生产美的冰箱、美的洗衣机)

建造者的子类构造不同的复杂对象,给使用者使用----构造者模式

让类全局只有一个实例----单例模式(当然全局只能有两个实例,也算单例的特例,注意线程安全的实现方式)

把接口转换为适应当前系统要求----适配器

对象可多维度变化----桥接(绘制圆形、矩形、三角形,可自由选择红、蓝、绿色)

动态增加功能----装饰者(如日志、性能跟踪、权限等)

多个对象对外提供统一接口----外观

对象实例重用----享元

通过代理控制原对象----代理(如webservice的客户端接口)

发送者接收者解耦----命令模式

封装对象间复杂的交互,让对象间解耦----中介者

对象状态变化通知多个其他对象----观察者

内部对象改变时行为也改变,将行为在状态对象中实现----状态模式

多个算法,封装为可相互替换的对象----策略模式

以上是关于设计模式简化记忆的主要内容,如果未能解决你的问题,请参考以下文章

设计模式简化记忆

UML图标含义及记忆方法

特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null

DL-4长短期记忆网络(LSTM)

[人工智能-深度学习-53]:LSTM长短记忆时序模型的简化GRU模型

《大话设计模式》--UML图