Circle类和Line类类似。为了能够一致地处理聚集类和简单实体类,聚集对象也应该实现Shape接口。Drawing是图形对象的集合类,它实现了Draw方法,列举出其容纳的所有基本图形对象并将它们一一画出。表9的代码展示了其工作原理。 表9 class Drawing : Shape { private ArrayList shapes; public Drawing() { shapes = new ArrayList(); } public void Add(Shape s) { shapes.Add(s); } public void Draw() { IEnumerator enumerator = shapes.GetEnumerator(); while (enumerator.MoveNext()) ((Shape) enumerator.Current).Draw(); } } 注意,客户无需关心某个图形对象属于基本类型和还是集合类型。横跨于它们之上的公共接口【译注:此处即是Shape】使得我们可以向其中添加新对象【译注:新类型的对象】而不会对客户程序产生任何影响。 |
正在阅读:用设计模式固化你的C#程序(4)用设计模式固化你的C#程序(4)
2004-02-14 09:34
出处:PConline
责任编辑:zwg
键盘也能翻页,试试“← →”键