第三周总结

用户头像
睁眼看世界
关注
发布于: 2020 年 10 月 04 日
第三周总结

设计模式

OOD 目标:高内聚低耦合

OOD 原则:OCP、DIP、SRP、ISP、LSP

设计模式:创建型、结构型、行为性

设计模式:模式名称、待解问题、解决方案以及结论;针对重复的问题,可复用的解决方案。

OCP 原则案例:简单工厂模式 + 配置文件

单例模式

Singleton 模式保证产生单一实例,就是一个类只产生一个实例。

常用方法:恶汉式、饱汉式

注意:单例注重无状态,即无状态对象。

适配器模式

Adapter 模式主要应用于接口定义和现有实现类不匹配的场景,借助适配器模式来转换。

类适配器 & 对象适配器

public class SortableList<T> extends ArrayList<T> implements NewSortable<T> {
public T getElement(int i) {
return get(i);
}
public void setElement(int i, T o) {
set(i, o);
}
}
public interface NewSortable<T> {
int size();
T getElement(int i);
void setElement(int i, T o);
}



public class ListSortable<T> implements Sortable<T> {
private final List<T> list;
public ListSortable(List<T> list) {
this.list = list;
}
public int size() {
return list.size();
}
public T get(int i) {
return list.get(i);
}
public void set(int i, T o) {
list.set(i, o);
}
}

JUnit 设计模式

模板方法模式

Template Method 模式是一种 “类的行为模式”,其通过 “继承” 的方法来实现扩展;其中基类负责算法的轮廓和骨架,而子类负责算法的具体实现。

模板方法的形式:抽象方法、具体方法、钩子方法

常见的场景:servlet、junit

策略模式

Strategy 模式是一种 “对象的行为模式”,是扩展功能的基本模式。

组合模式

Composite 模式是一种 ”对象结构模式“

装饰器模式

Decorator 模式是一种 ”对象的结构模式“,在不改变对客户端接口的前提下,扩展现有对象功能。其也被笼统地称为 ”包装器(wrapper)“

适配器模式也被称作 ”包装器“,区别在于适配器是转换成另一个接口,而装饰器是保持接口不变,包装器形成一条 ”链“。



Spring 设计模式

DI 设计模式

Spring 单例模式

Spring MVC 模式

Panthera 设计模式

基于装饰器模式不断增强 SQL 的解析功能



总结

设计模式就是前人优秀经验的总结,相对于架构设计思想和设计原则,更易落地,对我们工作更具有指导意义。常用的有 GOF 的 23种。当然,我们也可以总结出适合自己的编程经验,类似于脚手架。



发布于: 2020 年 10 月 04 日 阅读数: 15
用户头像

睁眼看世界

关注

人生就是一棵树 2018.08.11 加入

人生就是一棵树

评论

发布
暂无评论
第三周总结