难免有错,有错请指正,立马修订。
代码地址:github地址
一、创建型模式(5)
1、工厂方法模式
2、抽象工厂模式
3、单例模式
4、建造者模式
5、原型模式
二、结构型模式(7)
6、适配器模式
1)类适配
1、uml
2、代码
public class Source {
private final static Log logger= LogFactory.getLog(Source.class) ;
public void editTextFile() {//text 文件编辑
logger.info("a text file editing");
}
}
public interface TargetAble {
void editTextFile();
void editWordFile();
}
public class Adapter extends Source implements TargetAble {
private final static Log logger = LogFactory.getLog(Adapter.class);
@Override
public void editWordFile() {
logger.info("a word file editing");
}
}
3、测试
public static void main(String[] args) {
TargetAble target = new Adapter();
target.editTextFile();
target.editWordFile();
}
4、结果
17:28:14.277 [main] INFO com.augtsy.pattern.adapter.clazz.Source - a text file editing
17:28:14.279 [main] INFO com.augtsy.pattern.adapter.clazz.Adapter - a word file editing
2)对象适配
1、uml
2、代码
资源类Source不变、目标接口类TargetAble不变
对象适配器修改
public class ObjectAdapter implements TargetAble {
private final static Log logger = LogFactory.getLog(ObjectAdapter.class);
private final Source source;
public ObjectAdapter(Source source) {
super();
this.source = source;
}
@Override
public void editTextFile() {
this.source.editTextFile();
}
@Override
public void editWordFile() {
logger.info("a word file ed ting ");
}
}
3、测试结果
17:38:48.413 [main] INFO com.augtsy.pattern.adapter.object.Source - a text file editing
17:38:48.415 [main] INFO com.augtsy.pattern.adapter.object.ObjectAdapter - a word file ed ting
3)接口适配
7、装饰器模式
8、代理模式
9、桥接模式
10、外观模式
11、组合模式
12、享元模式
三、行为型模式(11)
13、策略模式
14、模板方法模式
15、观察者模式
16、责任链模式
17、访问者模式
18、中介者模式
19、迭代器模式
20、命令模式
21、状态模式
22、备忘录模式
23、解释器模式
文章待。。。。。。