摘要: 一、引言 这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下: 这样的实现使得每部不同型号的电视都有自己遥控器实现 阅读全文
posted @ 2016-08-31 21:43 连先森 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 一、引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复实现已经存在了的实现 阅读全文
posted @ 2016-08-31 21:35 连先森 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 一、引言 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导 阅读全文
posted @ 2016-08-31 21:30 连先森 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一、引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,如果此时让采购员一台一台电脑去组装的话真是要累死采 阅读全文
posted @ 2016-08-31 21:04 连先森 阅读(157) 评论(0) 推荐(0) 编辑
摘要: /// <summary> /// 下面以绝味鸭脖连锁店为例子演示下抽象工厂模式 /// 因为每个地方的喜欢的口味不一样,有些地方喜欢辣点的,有些地方喜欢吃不辣点 /// 客户端调用 /// </summary> class Client { static void Main(string[] ar 阅读全文
posted @ 2016-08-31 20:57 连先森 阅读(128) 评论(0) 推荐(0) 编辑