设计模式相关

1. 手写一个单例模式的实现代码

2. 用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。


类图

Template Method :
通过一个抽象的父类定义流程框架,在子类中实现具体的处理方法。
关键字:abstract
Factory Method :
把以上流程用于生成实例,即得到Factory Method。
Singleton Method :
在以上生成实例的过程中,通常对应于一个应用场景,我们只需要生成一个实例,Singleton Method可以避免由于重复调用类中的方法而生成的多个相同的实例。
关键字:private,static
Composite Method :
多用于处理树形结构,节点和叶子继承同一个父类实现同一套操作。在主程序中调用父类方法时可以屏蔽子类类型的差异。
关键字:abstract
版权声明: 本文为 InfoQ 作者【莫莫大人】的原创文章。
原文链接:【http://xie.infoq.cn/article/0f5f9088ba7c01e5587d48070】。文章转载请联系作者。
评论