适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
代码实现:
//Adapter.h
#inc...
分类:
其他好文 时间:
2014-05-25 23:14:58
阅读次数:
271
继续并发,貌似并发的文章很少有人看啊~哈~
今天准备详细介绍java并发包下的Executor,以及Java提供了很多灵活的且极其方便的线程池的创建。
嗯,那就慢慢说,大家肯定都学过Socket,JavaSe的时候写聊天程序,游戏的服务器,以及Android程序自己需要提供服务器的,都会拿Socket来自己写个:
最初我们的服务器可能写成这样:
1、单线程服务器
package com....
分类:
编程语言 时间:
2014-05-25 22:45:11
阅读次数:
318
一、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