策略模式说事

大家好,小弟出来匝道请各位大虾指点。写的不好的请大家原谅。

在设计模式中又种模式叫策略模式的。

策略模式的定义是:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 UML图如下

 

 
代码我就不写了。

接下来我们可以去看看这个简单的设计模式能衍生出多少种了!

小弟刚学设计模式有些地方写的可能不对。我认为工厂方法模式和建造者模式这两个模式可以算上是策略模式的衍生出来的。

首先我们从工厂方法说起吧,现看看工厂方法的定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 UML图如下:

 

 

 

我个人认为工厂方法就是Creator封装的一个策略模式和一个Product封装的一个策略模式组合成,让ConcreteCreator和ConcretrProduct关联起来来的模式。

再看看建造者模式模式吧。定义是这样的:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 UML图如下:



 

 

这个模式可以说是一个Builder封装的策略模式 和一个Director 来控制这个Builder策略模式的的模式。

今天就写到这吧。望大家指教。

 

posted @ 2008-07-28 19:36  sss0669  阅读(274)  评论(5)    收藏  举报