首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Template Method形式和Strategy模式:继承与委托

2012-10-27 
Template Method模式和Strategy模式:继承与委托Themeplate Method??public class ApplicationRunner2 {pri

Template Method模式和Strategy模式:继承与委托
Themeplate Method

?

?

public class ApplicationRunner2 {private Application app = null;public ApplicationRunner2(Application app){this.app = app;}public void go(){//app.init();  不调用init方法while(!app.done())app.idle();app.cleanup();}}

?

?这样,只要使用new ApplicationRunner2(new WorkStrategy()).go()就可以了。

因此,Strategy模式比TemplateMethod模式多推荐了一个额外的好处。尽管TemplateMethod模式允许一个通用算法(run逻辑)操作多个可能的具体实现,但是由于Strategy模式完全遵循DIP原则,从而请允许每个具体实现都可以被多个不两只的通用算法(run逻辑或go逻辑)操纵。

一句话,少用继承,多用接口。

?

热点排行