设计模式
文章平均质量分 78
陈春晓
大家好,我叫春晓
展开
-
设计模式- 使用抽象工厂实现多数据库切换实现过程
目前我对设计模式方面了解的不多,会的设计模式五根手指头就能数完。怎么写好设计模式让读者看懂真的要讲究一下技巧,不能单纯的贴代码并对代码作解释,我觉的《大话设计模式》就是一本讲设计模式很好的书,那本书通过故事的形式讲解让人联想思考下去。 由于水平有限,所有这篇文章没什么讲解的,只是写一下自己使用抽象工厂实现多数据库切换的实现过程。 例子的目的 有时候项目里使用的是ACCESS数据库,原创 2012-10-18 14:50:20 · 986 阅读 · 0 评论 -
设计模式- 命令模式
Gof定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。理解对命令模式我有一些肤浅的认识,也许是不对的。但我还是写一下。其实在我理解的命令模式很简单的。比如,A想去超市买菜,B想去超市买苹果,C想去超市买鱼。那么这时候要是有一个接收命令的人,那该多好哇。这个人接收A的命令,接收B的命令,接收C的命令,等所有人的命令都接原创 2012-11-02 14:54:57 · 338 阅读 · 0 评论 -
设计模式- 单例模式
Gof 定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。理解单例设计模式,我看到好像网上也有叫他作单件设计模式。其实故名思义,就是只能产生一个对象。在我们的生活中单例设计模式是很常见的,例如地球是唯一的。好像我前不久看的一部连续剧爱情公寓里说一颗宝石--沙漠之星,那个也是唯一的。还有你自己本身也是唯一,地球上没有一个和你完全一样的人。最简单的单例设计模式CODEnam原创 2012-11-02 14:53:29 · 346 阅读 · 0 评论 -
设计模式- 外观模式
Gof定义为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。UML图 理解 外观设计模式又叫门面设计模式,如果你在网上看到门面设计模式,其实都是一样的。感觉外观模式很简单,好像也没什么好讲的。在《大话设计模式》里举了这么一个例子,有一个股民在买股票,面对成千上万种类型的股票不知道怎么选择好,这时如果有一个股票的原创 2012-11-02 14:51:33 · 339 阅读 · 0 评论 -
设计模式- 迭代器模式
Gof定义提供一种方法顺序访问一个聚合对象中的各个元素, 而又不暴露该对象的内部表示。理解我们实际上经常用到迭代器模式,例如FOREACH语句,就是对迭代器模式的实现,泛型像LIST也是对迭代器模式的实现。关于迭代器模式在实际应用中很广泛,但他已经渐渐的融入到我们的编程语言语法中的其中一部份,所以实际上可能不需要再自己要动手写一个迭代器模式了。但是大概去了解一下内部实现原理,我觉的原创 2012-11-02 14:48:57 · 281 阅读 · 0 评论 -
设计模式- 观察者模式
Gof定义定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通 知并自动更新理解观察者设计模式:当一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。例如你在淘宝上购买了一件商品,当你付完钱后,你的淘宝帐户里会记录等待卖家发货这条信息,你的手机会收到一条短信说你手机银行里扣了钱,你的邮箱也可能会收到一封邮件。UML图原创 2012-11-02 14:47:20 · 431 阅读 · 0 评论 -
设计模式- 策略模式
定义策略模式定义一系列算法,把它们一个个封装起来,并且使它们可互相替换,该模式使得算法可独立于使用它的客户而变化。动机 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?看下面的策略者模式的结构图和原创 2012-10-24 12:17:56 · 402 阅读 · 0 评论 -
设计模式- 适配器模式
适配器模式分为两种,一种是对象的适配器模式,另一种是类的适配器模式。我们知道C#是单继承的,C++是多继承的。类的适配器适合用于多继承的,所以这篇文章就只讲对象的适配器。 我们先来理解一下什么是适配器模式? 1、在我们的生活中其实经常需要用到适配器模式的地方,例如我们的手机充电器,我们知道我国的电源电压是220V的,但是手机电池能接受的电压是3-7V,为了使得手机电池能原创 2012-10-24 12:13:54 · 584 阅读 · 0 评论 -
设计模式- 原型模式
Gof定义使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。动机在软件系统中,经常面临着“某些结构复杂的对象”的创建工作,但由于需求的变化,这些对象将成面临着剧烈的变化,但他们拥有比较稳定一致的接口。原型模式(Prototype)的几个要点Prototype模式同样用于隔离类对象的使用者和具体类型(易变类型)之间的耦合关系,同样要求这些易变类型具有稳定的接原创 2012-11-01 15:50:35 · 312 阅读 · 0 评论 -
设计模式- 代理模式
定义为其他对象提供一种代理以控制对这个对象的访问。理解代理模式也是经常在我们生活中会发生的和编程中经常会接触到的事情。也许你没意识到这就是代理模式,但我想你应该接触过和使用过了。1、比如你喜欢一个女孩子,你不敢直接表白,于是你找了一个朋友代你去表白,那个代你表白的朋友就相当于一个代理。2、再从宏观一点的角度看,我们的操作系统也是一个代理模式,它是基于硬件和软件之间这么一个中间层原创 2012-11-01 15:46:38 · 357 阅读 · 0 评论 -
设计模式- 建造者模式
其实有很多设计模式并没有像网上一些文章那样写的很复杂,理解了一下后发现他的实现原理很清晰。比如建造者设计模式。 建造者设计模式又叫生成器模式,我们不要叫他生成器模式,我觉的这个名字不好听。我比较喜欢建造者设计模式这个名字。 先来了解一下建造者设计模式是什么? 假设你是一个帮别人组装电脑主机的人,那么可以说,这时你就是充当建造者设计模式里指挥者这么一个角色。试想一下你要怎么样帮客户组原创 2012-10-23 15:43:04 · 374 阅读 · 0 评论 -
设计模式- 模板方法模式
我接触的设计模式不多,在我接触不多的设计模式里,我觉的单例模式和模板方法模式是最好理解的两种设计模式了。 我们先通过文字简单的理解一下什么是模板方法模式,然后用C#代码来写一个小例子加深一下了解,当然所谓的加深是相对初学者的加深。 先从字面上理解一下什么是模板方法设计模式,什么是模板? 1、我想很多人都懂甚至接触过,特别是对于大多数中学时考试成绩不理原创 2012-10-23 15:36:58 · 433 阅读 · 0 评论 -
设计模式- 职责链模式
Gof定义 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。动机 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显式指定,将必不可少地带来请求发送者与接受者的紧耦合。如何使请求的发送者不需要指定具体的接受者?让请求的接受者自己在运行时决定来处理请求原创 2012-11-02 14:56:50 · 341 阅读 · 0 评论