AbstractFactory

来源:互联网 发布:2017笔记本电脑知乎 编辑:程序博客网 时间:2024/06/06 14:09

AbstractFactory这种模式使类的实例化放到子类来实现;当然接口在父类;看张图就明白了:


这里Cilent directred Association to AbstractFactory and A\bstractProduct;这里我们可以理解为:client has a AbstractFactory and A\bstractProduct;

代码会像:

class Client {      private:              AbstractFactory m_AbstractFactory ;              bstractProduct m_bstractProduct; };

为什么只给客户端两个Abstract呢,因为我们肯定要给产品与客户用(不变),但具体给哪个,客户选择比较多(变化),把不变的放给客户,变化的留给下面继续实现。下面的Concrete**就是做了具体的实现,因为可以有不同的Concrete,这样就实现了多样性。

今天就总结到这里了。休息休息。明天早上跑步。

原创粉丝点击