使用那种模式?

04-02-28 myzhai
有个问题请教。

在我们开发的系统中有一个这样的需求:

系统运行中客户需要写本地文件或者另一台计算机的远程文件,也可以一部分数据写入本地文件,另一部分数据写入远程文件。我们设计了两个类:LocalWrite和RemoteWrite来完成这个任务。用户写本地文件实例化类LocalWrite,写远程文件实例化类RemoteWrite,或者同时实例化这两个类。

现在我们希望利用模式设计的思想来重新设计我们的方案,为了满足上述要求,我们该采用哪个模式呢?是strategy还是Factory Method?这两个模式有什么区别?希望赐教。

bruce
2004-02-28 22:42
Strategy 是通过聚合传参数的方式, 然后使用多态的方式, 实例化成不同的子类, 通过这样达到一种动态的面向接口的编程. 这在设计模式中用的很多, Factory Method相对简单, 没有使用聚合传参数方式, 只用到了多态.

还有一种更复杂的方式就是: 聚合传参数+多态+重定向(delegation), 象visitor.

banq
2004-02-29 09:58
strategy比较合适

猜你喜欢