随笔分类 -  设计模式

大话设计模式
摘要:简单工厂模式..就是通过判断逻辑 传入参数来判断实例化相关的类..对于客户端来说.去掉了与具体产品的依赖..但是如果增加一个功能类.就需要修改工厂类(比如加入判断条件).这就不是一个好的办法了..但是使用工厂方法类..的话.就相当于给每一个功能类创建了一个工厂.好处在于.每添加一个功能类就对应添加... 阅读全文
posted @ 2014-08-03 10:43 CrazyCode. 阅读(523) 评论(0) 推荐(0)
摘要:Head first 设计模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。 让主题与观察者之间松耦合大话设计模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能... 阅读全文
posted @ 2014-05-20 23:49 CrazyCode. 阅读(364) 评论(0) 推荐(0)
摘要:HEAD FIRST:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。本模式使得算法可独立于它的客户而变化。大话设计模式:它定义了算法家族,分别封装起来,让它们之间可以互相替... 阅读全文
posted @ 2014-05-20 19:44 CrazyCode. 阅读(422) 评论(0) 推荐(0)
摘要:代理模式:为其他对象提供一种代理以控制对这个对象的访问.Pursuit 通过 Proxy 送给SchoolGirl 礼物.#pragma onceclass IGiveGift{public: virtual void GiveDolls()=0; virtual void GiveFl... 阅读全文
posted @ 2014-05-06 00:41 CrazyCode. 阅读(232) 评论(1) 推荐(0)
摘要:装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活.Component定义一个对象接口,可以给这些对象动态的添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继... 阅读全文
posted @ 2014-05-05 23:42 CrazyCode. 阅读(158) 评论(0) 推荐(0)
摘要:感觉可以和工厂模式一起用:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户.策略模式是一种定义一系列算法的方法,从概念上看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合.策... 阅读全文
posted @ 2014-04-30 15:40 CrazyCode. 阅读(356) 评论(0) 推荐(0)
摘要:简单工厂模式: 自己的理解:一个类有多种子类,牵涉到要实例化某种子类,用工厂模式来生成对应的实例对象.比如如下的计算器的设计:Operation:操作类的基类 1 class Operation 2 { 3 public: 4 Operation(double lhs,double rhs... 阅读全文
posted @ 2014-04-30 14:46 CrazyCode. 阅读(151) 评论(0) 推荐(0)