浏览 5820 次
锁定老帖子 主题:DLang策略模式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-21
本程序是学习《Head First Design Pattern》做得程序,思想属于Head First 网址http://www.headfirstlabs.com/ 策略模式Strategy 设计原则: 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 把会变化的部分取出并“封装”起来,让其他部分不会受到影响。 2.针对接口编程,而不是针对实现编程。 3.多用组合少用继承 策略模式Strategy 定义了算法族,分别封装起来,让它们之间可以 互相替换,此模式让算法的变化独立于使用算法的客户。 Authors: Caoqi Version: 0.001 Date: September 21, 2007 See Also: 野鸭子类(Duck) See Also: 模型鸭子类(Duck) void main(char[][] args); 主程序 Example: import std.stdio; import strategy.FlyBehavior; import strategy.FlyWithWings; import strategy.QuackBehavior; import strategy.Quack; import strategy.MuteQuack; import strategy.Squeak; import strategy.Duck; import strategy.MallardDuck; public void main(char args[][]) { Duck mallard = new MallardDuck(); mallard.performQuack(); mallard.performFly(); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-09-21
引用module 怎么让我的程序做的像import std.stdio;
而不用: import strategy.FlyBehavior; import strategy.FlyWithWings; import strategy.QuackBehavior; import strategy.Quack; import strategy.MuteQuack; import strategy.Squeak; import strategy.Duck; import strategy.MallardDuck; ??应用这么多次? |
|
返回顶楼 | |
发表时间:2007-09-21
可以像很多D项目一样,自己写一个all.d,在这里面import上所有的module
以后要只要import all就行了. |
|
返回顶楼 | |
发表时间:2007-09-23
不错的理念,赞一个。
能详尽剖析就更好了 |
|
返回顶楼 | |
发表时间:2007-09-24
我会尝试着把模式详尽剖析。不过能力有限,望大家多提宝贵意见。
|
|
返回顶楼 | |