命令模式:
1.归一化接口,用同一个方法,调用不同的对象,执行不同的任务
比如: 打开这个操作,打开空调,打开冰箱,打开门,每个操作都有各自不同的地方,我们可以这么做
**定义一个Command接口
public interface Command()
{
public void open();
}
**具体的对象,实现Command接口,然后执行具体的方法
public class Light implements Command
{
public void open()
{
light.on();
}
}
**创建一个命令发送器
public class SendCommand()
{
public void executeOpen(Command command)
{
command.open() //传入灯,就执行灯的open方法, 传入冰箱,就执行冰箱的open方法
}
}
2.在SendCommand()方法中, command是针对接口编程,所以任何实现Command接口的对象,都能够执行open()方法
外观模式(门面模式)
1.将复杂的各种行为,封装在一个方法中,简化操作
比如打开电视 ,用户调用 openTV()方法就完成了
而实际上,电视内部要执行很多操作
2.设计原则:最少知识原则
不要让过多的类耦合在一起,设计接口,降低耦合性
迭代器模式
1.把遍历操作封装成一种接口,提供一种访问集合内部的方法,又不暴露其中的细节