摘要: 一、介绍 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。二、UML图三、示例View Code public class Dog { /// <summary> /// 名称 /// </summary> public string Name { get; s... 阅读全文
posted @ 2012-05-21 11:20 ヾJ﹍Hヾ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 生成器模式有点像是抽象工厂模式,两者都返回由一些方法和对象组成的类,主要的区别在于,抽象工厂返回系列相关类,生成器则根据向其提交的数据来逐步构造出复杂的对象。二、UML图 三、示例//动物View Code using System.Collections.Generic;using System.Linq;using System.Text;namespace Builder{ /// <summary> /// 抽象类 /// </summary> public abstract class AbstractAnimal { publi... 阅读全文
posted @ 2012-05-15 14:48 ヾJ﹍Hヾ 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 单件模式要求一个类有且只有一个实例,并且提供一个全局访问点。 例如:团购网上,商品库存问题,为了促进广告效益,常常会拿一些商品,比如说库存为10,以低价出售,然后竞拍的用户几乎是百万来计。但是商品库存是有限的。所以此时需要定义一个全局的访问点,且实例只有一个,每成功接收一个订单,库存减1。二、实现 I、简单实现View Code //Singleton简单实现 public sealed class SimpleSingleton { static SimpleSingleton instance = null; private Simpl... 阅读全文
posted @ 2012-05-09 13:56 ヾJ﹍Hヾ 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 抽象工厂是个一个工厂对象,其返回几级组类中的一组。二、UML图三、示例//动物/// <summary> /// 抽象类 /// </summary> public abstract class AbstractAnimal { public abstract string GetName(); } /// <summary> /// 狗类 /// </summary> public class Dog : AbstractAnimal { public override string GetN... 阅读全文
posted @ 2012-04-18 17:45 ヾJ﹍Hヾ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、工厂方法模式简介 简单工厂是返回几个可能类中的一个实例,在我们讲解简单工厂的时候,人的类别太确定了,只有男人和女人。那么大家有没有想过这样一种情况,当类别非常多的时候,比如说,JH写了一个简单工厂(生产动物)的实例,现在JH写了两个动物类,狗和猫,由于需求,现在必需生产一个兔子类,那我们是不是要写个兔子类,然后在修改决策类的代码,如果创建兔子,则返回兔子类。但如果下一次又由于需求变更,又要生产老鼠类,那我们是不是要写个老鼠类,然后又修改决策类的代码。过一段时间,又要生产鱼,虾。。。。 从上面描述可以看出,我们上述实例其实不仅每次浪费心力去修改决策类的代码,而且还破坏了设计模式的基本原... 阅读全文
posted @ 2012-04-07 10:22 ヾJ﹍Hヾ 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一、简单工厂模式简介 简单工厂模式根据提供的数据返回几个可能的类中的一个实例。通常其返回的所有的类都有一个共同的父类和一些黄同的方法,不过这些类中的每个都完成不同的任务,以及针对不同类型的数据做了优化。简单工厂并不是不23个Gof( Gang of Four)模式中的一个,其在这里只不过是作为我们稍后会讨论到的工厂方法(Factory Method)这Gof模式的一个入门而已。二、解决问题 简单工厂的目的在于解决客户于对象间的直接依赖的关系,把他们之间的紧耦合进行解耦,客户实例化对象时不需要关心该对象是由哪个子类实例化的。三、UML图 四、代码分析PeopleView Code usin... 阅读全文
posted @ 2012-04-05 14:11 ヾJ﹍Hヾ 阅读(205) 评论(0) 推荐(0) 编辑