策略模式(Strategy Pattern)
定义算法族,分别封装起来,让他们之间可以互换
public Class Duck {
FlyBehavior fly;
QuackBehavior quack;
}
FlyBehavior和QuackBehavior
观察者模式(Observer Pattern)
JButton, ActionListener
装饰者模式(Decorator Pattern)
java io
new BufferedReader(newInputStreamReader(new FileInputStream(“xxx”)))
工厂模式(Factory Pattern)
单件模式(Singleton Pattern)
命令模式(Command Pattern)
请求封装成对象,可以让你使用不同的请求、队列,或者日志请求来参数化其它对像。命令模式也可以支持撤消操作
Command, execute()
适配器模式(Adapter Pattern)
通过适配器装Duck包装成Chicken
外观模式(Façade Pattern)
让接口更简单
提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用
模板方法模式(Template Method Pattern)
在一个方法中定义一个算法的骨架,而将一些步骤放到子类中实现。模板方法使得子类在不改变算法结构的情况下,重新定义算法中的步骤
把泡咖啡和泡茶抽象出一个共同的流程:
1:煮水
2:冲泡
3:倒杯子里
4:家调料
状态模式(State Pattern)
一个状态跳转到另一个状态