
设计模式浅谈
b哈利路亚d
动画,游戏,编程....
展开
-
第三课 设计模式之Singleton(单态)
第三课 设计模式之Singleton(单态) 单态是我感觉最常用到的设计模式了,所以这里咱们第一个来谈谈他。 Singleton模式主要作用是保证在应用程序中,一个类Class只有一个实例存在。那么,为什么要这样做呢,这样做有什么好处。下面我们来讨论下。 首先,很多情况下需要全局的唯一标识,作为一个应用程序的状态之类的作用。 其次,每个对象的实例化,都需要系统消耗一定原创 2008-10-20 13:53:00 · 1190 阅读 · 3 评论 -
第十三棵 外观模式
第十三棵 外观模式 外观模式,其实大家很可能有意无意中已经多次使用过了。现在通用的三层架构都用过吧,是不是有人在开发过程中加入过第四层呢?由于一个模块处理的时候,可能要调用多个逻辑层,这样的话,UI上面就多出了很多业务逻辑代码。这时候有经验的人往往会定制第四层,外观层。将这些调用多个逻辑层的逻辑进行封装。这里就能够看出外观模式的意义了。外观模式,就是为了高一层的逻辑封原创 2008-12-05 10:21:00 · 701 阅读 · 0 评论 -
第十二课 原型模式
第十二课 原型模式 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 上面就是原型模式的定义了。那么为什么我们要采用原型模式呢?设想一下,现在有这么一个东西,其实可以把它抽象出一个类,但是由于他属性有着千变万化,而每种变化可能都是我们所需要的。那么解决方案呢?我想大家能马上想到以下方式:1. 在使用的时候初始化不同属性。2.原创 2008-11-03 15:17:00 · 815 阅读 · 0 评论 -
第十一课 建造者模式
第十一课 建造者模式 接着模板方法模式来讲建造者吧。其实开始我也有点模糊,看着建造者模式很想模板方法。为什么呢,这里引用一段李会军博客里的一段概述: 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提原创 2008-10-31 13:31:00 · 977 阅读 · 0 评论 -
第十课 模板方法模式
第十课 模板方法模式 其实说实话,模板方法真的是实际开发中最常用的模式了。相信大家有意无意肯定都用过。为什么这么说呢。因为模板方法的亮点,就是代码复用。这是对广大开发人员最有吸引力的吧。 举个简单例子,大家都做过数据库操作吧。其实别管什么语言,什么数据库,基本的处理方法是相同的,我来列一下,估计大家就明白了。1. 获得数据库连接2.原创 2008-10-30 15:01:00 · 752 阅读 · 1 评论 -
第八课 装饰模式
第八课 装饰模式 装饰模式也是很常用的哦,我记得原来打印小票的时候用过他。其实就是写一个基类,定义一个基础方法,然后子类中在这个基础方法上进行扩充。大概就是这个样子了。看下定义:动态给一个对象添加一些额外的职责。那么,为什么要使用装饰模式呢?一般来说,我们扩展一个类,都是通过继承的方式,这种实现方式无可厚非,但是如果要扩展的东西种类繁多,但是(注意)里面都能够找到一点共原创 2008-10-27 14:36:00 · 874 阅读 · 2 评论 -
第九课 适配器模式
第九课 适配器模式 今天我们来看一看适配器模式。这是一个常用的模式,作用也很简单,举例说明一下。现在我们有一个团队,在做一个大型项目。A同志负责写一些基类。它定义了一个读写操作类,由一个方法readbyte(),正如名字说说的,将文本读取,返回byte[]的方法。现在呢,B定义了一个接口,里面包含了2个方法,readByte(),和readString()。并且设计者基于这个接口做原创 2008-10-29 09:46:00 · 1242 阅读 · 0 评论 -
第七课 策略模式
第七课 策略模式 今天来看看策略模式吧。首先,策略模式定义: 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 简单的来说呢,可以这么想想,现在由一个类,里面有个方法function,我想在实例化这个类的时候,能够传一个方法给function,让实例类使用传入方法。这样,就相当于把这个方原创 2008-10-24 14:50:00 · 1099 阅读 · 0 评论 -
第六课 抽象工厂模式
第六课 抽象工厂模式 抽象工厂模式其实和工厂方法模式思路一样,可以说是工厂方法模式的一个特例,用于控制一个系列的产品的不同版本。简单举个例子(可能不适用于.net)我现在有几个界面UI控件产品,Button,Label,TextBox。大家应该知道,windows和Mac系统底层对UI的实现不同,所以创建控件的方式可能不同。这样我可能出2套产品,一套是为Windows实现的,原创 2008-10-23 10:47:00 · 867 阅读 · 0 评论 -
第二课 设计模式的原则
第二课 设计模式的原则 今天准备讲一下设计模式中的原则。其实设计模式的存在,就是为了能够实现这些原则。这里不需要大家一次就搞懂,有点印象,有点感觉就好了。本讲里面会结合上一课中的例子。 下面,开始吧。 首先,先来看一下基本的几个原则。1. 开闭原则。( Open - Closed Principle 缩写:OCP ),这个是基本原则哦。要原创 2008-10-20 10:50:00 · 1136 阅读 · 13 评论 -
第一课 什么叫做类?类有什么用处?
现在流行面向对象的开发语言,无论java还是.net,创建类对象都是开发的基础,但是究竟什么是类呢。首先自己花5分钟想象一下。 类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。 类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在原创 2008-10-19 17:13:00 · 3139 阅读 · 7 评论 -
第四课 简单工厂模式(Simple Factory)
第四课 简单工厂模式(Simple Factory) 工厂模式的作用就如他的名字,将大量实现共同接口的产品实例话返回,就像真正的工厂一样。工厂模式可以动态的决定将哪一个类实例化,不必实现知道每次要实例化哪一个类。工厂方式呢,有三种形态:1. 简单工厂(Simple Factory)模式:又称静态工厂方法模式,是最常见的工厂实现。2. 工厂方法(Fa原创 2008-10-21 21:20:00 · 1311 阅读 · 2 评论 -
第五课 工厂方法模式
第五课 工厂方法模式 这个模式用法通过例子很容易学会,但是我一直没能体会到他存在的意义,他能提供的好处。所以在群里讨论了下,也没有搞明白。最终,无意中在Java编程思想中看到了一个工厂方法的应用,突然大彻大悟(呵呵),谁说工厂方法只能零散着调用,可以结合别的模式一起使用吗。呵呵,下面进入正题。 首先回想一下简单工厂的优缺点。 优点:对产品对象能够很好的原创 2008-10-22 14:27:00 · 839 阅读 · 0 评论