GOF设计模式之责任链模式(Chain of Responsibility)与迭代器模式(iterator)
责任链模式(Chain of Responsibility)
将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,
这里写一个公司请假流程管理。
管理类
1 | public abstract class Leader { |
请假请求
1 | public class LeaveRequest { |
主任类
1 | public class Director extends Leader{ |
经理类
1 | public class Manager extends Leader{ |
总经理类
1 | public class GeneralManager extends Leader{ |
测试
1 | public class Client { |
结果
员工:老王请假,天数:15,理由:回乡下老家探亲
总经理:张三批准
迭代器模式(iterator)
提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
迭代器接口
1 | /** |
自定义聚合类
1 | /** |
测试
1 | public class Client { |
结果
a
b
c
d
e