命令模式
我会用一个非常的简单的例子来告诉大家,什么是命令模式
Point 是一个对象 有两个属性 x,y 提供一个方法translate(x,y)
公共的接口对象,用来配置不同的命令
public interface PointAction{ void doForPoint(Point p); }
一下是两种命令
class TranActionOne implements PointAction{ punlic void doForPoint(Point p){ p.translate(1,5); } } class TranActionTwo implements PointAction{ punlic void doForPoint(Point p){ p.translate(1,6); } }
命令执行器
public class PointArrayList extends ArrayList<Point>{ public void forEach(PointAction paction){ for(Point p:: this){ paction.doForPoint(p); } } }
执行 不同的命令
pointList.forEach(newTranActionOne() );
pointList.forEach(newTranActionTwo() );