模板方法模式一个父类【运动会】类两个子类,一个【CClass1】类,一个【CClass2】类,班级类是运动会类的子类,父类制定了运动会的流程(算法的逻辑架构),子类分别去实现流程中的具体实现。子类不需要重写流程,只需要重写流程中每一项的具体内容。以此为例,流程就是先干什么、后干什么、再干什么,而每一...
分类:
其他好文 时间:
2014-05-26 20:19:20
阅读次数:
259
代理模式在设计模式中的定义就是:为其他对象提供一种代理以控制对这个对象的访问。说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。真实对象与代理实现相同的接口。代理实际也是调用RealSub...
分类:
其他好文 时间:
2014-05-26 17:58:14
阅读次数:
205
一、Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问
二、模式解说
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访...
分类:
其他好文 时间:
2014-05-25 21:58:12
阅读次数:
306
刚接触设计模式不久,发现其中与c#相似的地方很多,现在回头再一看,发现比之前容易理解了许多。所以我停下了设计模式的学习,花了一天时间来总结我的c#。和以前一样,一张图胜过千言万语。
我们学习要与前面的知识相联系,米老师也常说,我们遇到的问题,在之前都遇到过,只不过它是换了种形式,又或是自己的总结没有到位。
C#与我们之前学过的vb有很多地方相同。
其实,每种语言都有相通之处,vb有一种...
分类:
其他好文 时间:
2014-05-25 21:53:05
阅读次数:
191
一、模式定义:
用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。
二、结构图
1) 抽象中介者:定义同事(Colleague)对象到中介者(Mediatior)对象的接口,通常是一个事件方法。
2) 具体中介者:具体中介者实现抽象中介者声明的方法。知晓所有的具体同事...
分类:
其他好文 时间:
2014-05-25 21:51:52
阅读次数:
276
机房收费系统的重构已经开始很久了,最近两天才感到有了一点儿头绪。
对这次重构,刚开始计划的是先做数据库,然后优化下,列出每个窗体对表的访问关系,抽出常用的访问作为存储过程,然后把访问数据库的常用方法封装成SqlHelper.这部分就是数据库的部分。
然后就是软件的结构:整体上是分了七层:三层+实体+外观+抽象工厂+D层接口。虽然计划的很好,但是在具体分层这里想了很久。...
分类:
其他好文 时间:
2014-05-25 21:35:49
阅读次数:
180
接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式.
这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成接口的某个实现的对象.
理论上,通过这方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明的将某个实现替换为另一个实现.
下面的代码实例展示了工厂方法的结构:...
分类:
编程语言 时间:
2014-05-25 21:31:24
阅读次数:
321
上次文章中说到。对于一个项目来说,SqlHelper是一个很重要的类。
在正在构造的机房收费系统中。有大量的操作数据库的操作。如今,把重复的代码全部拿出来,就形成了SqlHelper类。这个SqlHelper执行参数化查询。至于使用,只需要提供相应的sql语句和参数。就可以执行数据库的操作了。
实现声明一下啊。这个例子 我也不知道能不能用在机房收费系统上。刚学完设计模式,突发...
分类:
数据库 时间:
2014-05-25 21:27:40
阅读次数:
355
一、访问者模式定义:
表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作,也就是动态的增加新的方法。
二、Visitor模式结构图:
三、Visitor模式中主要角色:
1)访问者角色(Visitor):为该对象结构(ObjectStructure)中的具体元素提供一个访问操作接口。该操作接口...
分类:
其他好文 时间:
2014-05-25 21:24:57
阅读次数:
352
桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立的变化。
抽象部分和实现部分不是指父类和子类,这里的抽象部分和实现部分是一种组合的关系。例如,燕子是抽象部分,燕子的翅膀是实现部分,燕子和燕子的翅膀就是一种组合的关系。桥接模式所应用的设计原则就是优先使用组合/聚合,而不是继承原则。
优先使用组合/聚合而不是继承原则:
因为任何父类的改变都会影响子类的行...
分类:
其他好文 时间:
2014-05-25 21:24:35
阅读次数:
228