摘要: 适配器模式实例(C#):用Adapter模式设计一个仿生机器人:要求机器人可以模拟各种动物行为,在机器人中定义了一系列方法,如机器人叫喊方法cry()、机器人移动方法move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样汪汪叫,像狗一样快跑,或者像鸟一样叽叽叫,像鸟一样快快飞,使用适配器模式进行系统设计。类图:说明:此类图有visual studio 2012 自动生成。由类图可见,首先实现的一个AnimalAdaptee的类,下面是两个字类,分别具体实现鸟和狗的Cry和Move方法。Robot是一个抽象类,具体的Adaptor类实RobotAdaptor类,它申明了一个私有的 阅读全文
posted @ 2013-06-11 15:27 旧事乡里人 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 1. 意图将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2.适用性以下情况使用A d a p te r模式• 你想使用一个已经存在的类,而它的接口不符合你的需求。• 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。• (仅适用于对象A d a p t e r)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。3.结构类图4.参与者• Ta r g e t — 定义C l i e n t使用的与特 阅读全文
posted @ 2013-06-11 13:39 旧事乡里人 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂的具体实例:用Factory Method模式设计一个电视机工厂:要求为每种品牌的电视机提供一个子工厂,如:海尔工厂专门负责生产海尔电视机,海信工厂专门负责生产海信电视机,如果需要生产TCL电视机或创维电视机,只需要对应增加一个新的TCL工厂或创维工厂即可,原有的工厂无须做任何修改,使得整个系统具有更加的灵活性和可扩展性。类图:说明:此类图由Visual studio 2012根据源码自动生成,Program可视为调用工厂的Client。由类图可见我单独为电视产品申明了一个顶层的抽象类,之后是海尔和海信各自的产品抽象类,然后具体的产品类由各自的产商自己实现。同时产品的工厂类也是由一个顶 阅读全文
posted @ 2013-06-11 00:00 旧事乡里人 阅读(421) 评论(2) 推荐(0) 编辑