Composite组合模式作用:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。UML图如下:在Component中声明所有用来管理子对象的方法,其中包括Add、Remove等,这样实现Component接口的所有子类都具备了Add和Remove。这样做的好处就是叶节点和枝节点对于外界没有区别,它们具备 完全一致的行为 接口。但问题也很明显,因为Leaf类本身不具备Add()、Remove()方法的 功能,所以实现它是没有意义的。何时使用组合模式:当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个 Read More
posted @ 2014-03-15 21:05 风华一指流砂,苍老一段年华 Views(194) Comments(0) Diggs(0) Edit
装饰模式,动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。Decorator提供了一种给类增加职责的方法,不是通过继承实现的,而是通过组合。(优先使用组合而非继承)13.1.解释main(),老爸ISchoolReport,成绩单接口CFourthGradeSchoolReport,四年级成绩单ReportDecorator,成绩单装饰器基类HighScoreDecorator,最高分装饰器SortDecorator,班级排名装饰器说明:对“四年级成绩单”进行装饰,ReportDecorator必然有一个private变量指向ISchoolRep Read More
posted @ 2014-03-15 14:10 风华一指流砂,苍老一段年华 Views(210) Comments(0) Diggs(0) Edit
适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统之间的处理。是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也是一个比较简单的模式,直接上代码了。看代码:8.1.解释main(),主程序IUserInfo,本系统内接口CUserInfo,本系统内实现类IOuterUser,外系统接口COuterUser,外系统实现类COuterUserInfo,本系统内适配类说明:COuterUserInfo实现IUserInfo接口,将外部系统实现类COuterUser转换成本系统内的接口IUserInfo。使用外部 Read More
posted @ 2014-03-15 12:02 风华一指流砂,苍老一段年华 Views(194) Comments(0) Diggs(0) Edit