大运天成赖搏击

进步最重要

导航

2011年10月29日 #

设计模式学习-每日一记(14.观察者模式)

摘要: 观察者模式A.定义:定义对象间一种一对多的依赖关系,当对象变化时,其他对象能够得到通知,并自动更新。B.定义分析:"定义对象间一种一对多的依赖关系,当对象变化时,其他对象能够得到通知,并自动更新。"多个对象关注一个对象的状态,比如一个数据来源。"定义对象间一种一对多的依赖关系,当对象变化时,其他对象能够得到通知,并自动更新。"被关注的对象变化时,有种办法能通知其他关注对象。"定义对象间一种一对多的依赖关系,当对象变化时,其他对象能够得到通知,并自动更新。"通知关注对象的时候,实际上可行的一个方法是调用一个定义好的更新接口。C.问题:( 阅读全文

posted @ 2011-10-29 22:49 linucos 阅读(152) 评论(0) 推荐(0)

设计模式学习-每日一记(13.策略模式)

摘要: 策略模式A.定义:定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。B.定义分析:"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"完成相同功能的算法."定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"不同的算法,封装在不同的类里。"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"封装不同算法的类,完成相同功能的接口应该是一样的,且要集成自同一个基类,这样他们就能够无缝替换 阅读全文

posted @ 2011-10-29 22:40 linucos 阅读(142) 评论(0) 推荐(0)

设计模式学习-每日一记(12.轻量模式)

摘要: 轻量模式A.定义:运用共享技术有效地支持大量细粒度对象。B.定义分析:“运用共享技术有效地支持大量细粒度对象”.比如,一段文字,一幅图片,一个颜色,所有用到的地方,都使用同一个对象,而不是每次都new出一个新的实例。“运用共享技术有效地支持大量细粒度对象”.比如,一个文档编辑器,里边的字符,图形,标点等等,如果每个单一的元素都用一个对象实例的话,那对象数量就会很多很多。C.问题:(1)共享技术怎么有效地支持大量细粒度的对象?建立一个共享对象池,所有的实例请求都经过共享池的接口,这样就达到了共享对象的目的。需要注意的是,为了是共享实例能够多个地方使用,需要区分对象的内部状态和外部状态,内部状态不 阅读全文

posted @ 2011-10-29 18:31 linucos 阅读(329) 评论(0) 推荐(0)

设计模式学习-每日一记(11.代理模式)

摘要: 代理模式A.定义:为其他对象提供一种代理,以控制对这个对象的访问。B.定义分析:"为其他对象提供一种代理,以控制对这个对象的访问。"代理的意思就是:访问目标的中间对象,也就是我们不直接访问目标,而是通过一个中间对象访问目标对象,这个中间对象就是代理。"为其他对象提供一种代理,以控制对这个对象的访问。"不直接访问需要的对象,而是访问代理对象,代理对象完成被代理的目标对象的功能。那为什么要用代理呢?当我们希望访问目标对象时候,我们被通知,或者期间我们需要控制一些东西...当目标对象不在同一个地址空间,而我们要希望没有区别的访问的时候...当目标对象很大,加载 阅读全文

posted @ 2011-10-29 18:24 linucos 阅读(154) 评论(0) 推荐(0)

设计模式学习-每日一记(10.组合模式)

摘要: 组合模式A.定义:把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。B.定义分析:"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"整体部分关系,比如:Window这个对象,其中可以包括Button,List,Menu等组件,Window就是个整体,Button,List,Menu等就是组成部分."把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"如果上边的Window里包含了List,同时也包含了另一个Window对象,里 阅读全文

posted @ 2011-10-29 18:14 linucos 阅读(203) 评论(0) 推荐(0)