
充满诱惑的设计模式
文章平均质量分 84
huangxiaohu_coder
这个作者很懒,什么都没留下…
展开
-
装饰者模式浅浅的理解
俗套点,先来个装饰者模式的定义吧--装饰者模式可以动态地给一个对象增加其他职责。就扩展对象功能来说,装饰者模式比生成子类更为灵活。 下面谈谈我对装饰者模式的一些理解吧:首先,装饰者的基类与被装饰者都派生于一个共同的基类CComponent,有着公共的接口Operation,被装饰者实现了其的基本行为,而装饰者的基类派生于CComponent类,更重要的是其内部有一个维护记录装原创 2010-03-26 16:30:00 · 1187 阅读 · 0 评论 -
桥接模式-抽象与实现的分离
说到桥接模式,其最基本的目的就是要达到抽象部分与实现部分的相分离,使他们每一部分都能够独立的变化。然而,这句话还是不好理解的。套用大话设计模式的一句话,所谓的实现和抽象相分离,就是实现一个系统,有可能有多个角度对系统进行分类,而这其中的每一个角度都有可能发生变化,而桥接模式把这多个角度抽离出来实现,以便其独立的变化。就像手机一样,可以用牌子给他归类,也可以按不同的软件,如MP3给他归类,就原创 2010-03-27 21:38:00 · 2194 阅读 · 0 评论 -
享元模式-分离内外部特征,共享对象
享元模式,用于降低对象的粒度,即减少对象的个数。需要对类做很好的抽象,共享其内部特征,通过不同的外部特征传入来创建最少的对象。也就是说,有时需要生成大量细粒度的类实例来表示数据,如果能发现这些实例除了几个参数外基本上都是相同的,有时就能够最大幅度的减少需要实例化的类的数量,如果能把那些参数转移到类实例的外面,在方法调用时将他们传递进来,就可以通过共享大幅度的减少单个实例的数目。内部状态原创 2010-03-28 21:21:00 · 911 阅读 · 0 评论 -
观察者模式(状态改变-通知-更新行为)
所谓观察者模式,便是定义了一种一对多的关系,由多个对象观察一个主题对象,当主题对象的状态发生了变化,这个主题对象会通知所有的观察者。这些观察者会根据通知的情况自动更新自己的状态。 1.主题纯虚基类。 m_list:用于保存观察者对象的链表 Attach接口,用于增添观察者,对象 Dettach接口,删除观察者对象 Notify接口,遍历通知所有原创 2010-04-03 11:06:00 · 2173 阅读 · 0 评论 -
代理(Proxy)模式的浅解
代理模式就是为其它对象提供一种代理以控制对这个对象的访问。主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层, 比如说C和A不在一个服务器上,A要频繁的调用C,我们可原创 2011-12-09 13:02:51 · 1035 阅读 · 0 评论