
设计模式
kxfeng1
这个作者很懒,什么都没留下…
展开
-
设计模式-起源
来源设计模式来自于建筑领域,作为软件工程的一个分支。1995年GOF(Gang Of Four四人组,Erich Gamma、Richard Helm,Ralph Johnson和John Vlissides)收集整理了23种设计模式出版了《设计模式:可复用面向对象软件的基础》一书。(GOF缺少了一个较为常用的设计模式,简单工厂)定义设计模式的英文叫 Desing Pattern,是一套被反复使用...原创 2018-02-26 15:50:05 · 1010 阅读 · 1 评论 -
设计模式-原则
万事万物的存在都需要遵循一些既定的原则,比如游戏有游戏的规则,生活在当今社会需要遵守道德与法律。而在面向对象编程的过程中也同样存在一些规则。分为六大原则一个法则,分别是单一原则、开闭原则、依赖倒转原则、里氏代换原则、接口隔离原则、合成复用原则、迪米特法则。单一原则:Single Responsibility Principle(SRP)是指类的功能要单一,一个类不应承担过多的职责,不然一旦牵涉到更...原创 2018-02-27 16:09:57 · 148 阅读 · 1 评论 -
设计模式-创建型-抽象工厂模式
今天是工厂模式三兄弟的最后一个模式叫抽象工厂模式,抽象工厂模式与其他两兄弟在产品类上也是一样,无非就是工厂类的区别,简单工厂模式和工厂模式都是一个工厂只生产一种产品,但是在抽象工厂中一个工厂可以生产多种商品。举一个不太恰当的例子。有巧克力和面包两种食品,分别有富民食品厂和兴旺食品厂两个厂家生产。代码如下:/// <summary> /// 食品类 /// </summ...原创 2018-03-06 22:22:46 · 165 阅读 · 0 评论 -
设计模式-创建型-原型模式
原型模式是指通过类的实例来创建新的实例,原型模式一般用在需要大量创建同一个类型的实例,简化new实例的开销。听着挺晕的,用一个生活中的例子可能好理解一些。俄罗斯套娃不知道见过没,就是一个娃娃里面套着一个稍小一些的娃娃,一直到很小很小的娃娃。代码如下。public class TaoWa : ICloneable//继承.net封装好的接口,该接口只定义一个Clone方法 { p...原创 2018-03-07 23:03:40 · 200 阅读 · 0 评论 -
设计模式-创建型-建造者模式
建造者模式与抽象工厂有些相似。抽象工厂是一个工厂可以生产出多个商品,所有的工厂模式都只注重产品而不注重产品构造的细节也就是一个产品是如何生产出来的?而建造者模式则注重产品构建细节。建造者模式要求建造过程稳定。以煮汤为例,假如所有的汤都需要清洗材料、放入锅中,加水和调料、煮沸出锅这些步骤。那么明显这个例子适合用建造者模式,因为步骤也就是过程是稳定的,而用这个步骤炒菜则是不合适的,因为炒菜的步骤可能要...原创 2018-03-08 21:15:43 · 142 阅读 · 0 评论 -
设计模式-创建型-单例模式
单例模式在整个软件开发中还是比较常用的,频繁使用且过程稳定的方法、全局变量都可以使用该模式,也可以叫做公共类。单例模式需要遵循要么出现一次,要么不出现的规则。单例模式不提供外部实例化功能,在内部自已实例化以保证其唯一实例。具体如下:Class Common{ private static Common m_Instance; //定义静态全局变量,保存实例 private Common() //重...原创 2018-03-01 19:43:17 · 162 阅读 · 1 评论 -
设计模式-创建型-简单工厂模式
创建型模式中工厂模式有三兄弟,先从简单工厂讲起。工厂模式中包含了产品与工厂两个对象,其中产品是是一个个具体的对象,而工厂负责生产这些产品。例如现在我们的需求是有两个食品要在食品厂加工。两个食品分别叫做面包和巧克力,要在食品厂加工。通过需求分析出应该有如下几个类,面包类、巧克力类、食品加工厂类。由于面包和巧克力是属于食品,那么必然会生出一个食品类。加工厂我们暂时就不再去做区分。。。OK,简单分析上代...原创 2018-03-01 23:46:49 · 210 阅读 · 1 评论 -
设计模式-创建型-工厂模式
今天开始工厂三兄弟的工厂模式,工厂模式与简单工厂相似,区别就在于工厂类被进一步细化,简单工厂的工厂类中由一个方法根据具体需求创建具体的产品。而工厂模式中,每一个产品对应一个工厂。也就是一个工厂不再像简单工厂那样,一个工厂可以生产不同的商品。在工厂模式中,每一个商品都对应一个生产该商品的工厂。代码如下: /// <summary> /// 食品类 /// </summa...原创 2018-03-05 22:18:43 · 158 阅读 · 1 评论