过河的卒子

点点滴滴体现精彩IT人生
posts - 64, comments - 19, trackbacks - 0, articles - 68
  博客园 :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理

公告

11 2011 档案

摘要: 单件模式(Singleton Pattern)是一种用于确保整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享时的程序设计方法(根据实际情况,可能需要几个类实例)。在某种程度上说,单件模式是限制而不是改进一个类的创建,但他却和其他创建模式分在一个组。 单件模式可以保证一个类有且只有一个实例,并且提供一个访问他的全局访问点。在实际应用中有很多这样的情况,例如:窗口管理器,打印机或者一个COM1实例。创建单件的方法 让一个类只有一个实例有很多方法,最容易的方法是在类中设置一个静态变量,并且提供一个得到该实例对象的方法,在第一次实例对象的时候初始静态变量,以后再次实例化该类时...阅读全文

posted @ 2011-11-26 23:02 卒子 阅读(18) | 评论 (0) 编辑 |

摘要: 抽象工厂模式(Abstract Factory Pattern)比工厂方法模式具有更高层次的抽象。当要返回一系列相关类中的某一个,而每个类都能根据不同需要返回不同类时,可以使用这种模式。生活中的例子:假设一农场主要设计一个蔬菜型花园(VeggieGarden) ,如果这个花园只需要考虑三个关键地方,即:1、边缘种什么植物(borderPlant)。2、中央种什么植物(centerPlant)。3、阴凉部分种什么植物(shadePlant)。 我们的代码可以这样:publicclassVeggieBorder{publicvoidDraw();}publicclassVeggieCenter{.阅读全文

posted @ 2011-11-22 23:42 卒子 阅读(10) | 评论 (0) 编辑 |

摘要: 上次说到简单工厂模式,特点是有一个具体的类负责决定在单继承体系结构中实例化哪个子类。而工厂方法模式(Factory Method Pattern)对这种思想进行了巧妙的扩展,他不是由专门类来实例化哪个子类,相反,超类把这种决定延迟到每个子类中。这种模式实际上没有决策点,由具体应用来决定到底调用哪个。 工厂方法模式解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。工厂方法模式的对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作.阅读全文

posted @ 2011-11-19 19:12 卒子 阅读(17) | 评论 (0) 编辑 |

摘要: 简单工厂模式实际上不属于23个GoF模式中的一种。简单工厂模式是通过传入的数据返回几种可能类中的一种类的实例。但这几种类一般会有一个共同特点是,这几种类都有一个共同的父类和共同的方法,但每个方法执行的内容不同,而且根据不同的数据进行优化。下面看个例子:假设我们总是可以通过逗号或者分号来把一个名字分成firstname和lastname。用工厂模式如何实现那?1、两个派生类//基础类publicclassName{protectedstringfName;protectedstringlName; //只有基类有 public stringGetFirstName(){returnfName;.阅读全文

posted @ 2011-11-16 22:36 卒子 阅读(20) | 评论 (0) 编辑 |

摘要: 刚刚看到一篇搞笑的网络用语,转来一笑一:录音:“小明,窗台上落了鸟屎,去擦一下好么?"“我擦!!我不擦!!”——问:小明擦不擦窗台?二:录音:“小明,今晚上有思修课呢!你去不去??”“我去!!我不去!!”——问:小明去不去思修课?三:录音:“小明,你饿不饿?我们晚上吃什么好呢?”“额。。。我不饿。。”——问:小明饿不饿?四:录音:“小明,你要他那个礼物呢还是我这个礼物呢?”“那个。。。这个吧”——问:小明要哪个?五:录音:“小明,你想好了么?”“想好了”“你先说还是我先说?”“我说。。。你说吧。。”——问:谁先说。六:录音:“小明,昨天下午你抱着的是谁啊?你女朋友吧?”“你妹!!!我妹!!”—阅读全文

posted @ 2011-11-07 12:48 卒子 阅读(72) | 评论 (0) 编辑 |