一、Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问
二、模式解说
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访...
分类:
其他好文 时间:
2014-05-25 21:58:12
阅读次数:
306
刚接触设计模式不久,发现其中与c#相似的地方很多,现在回头再一看,发现比之前容易理解了许多。所以我停下了设计模式的学习,花了一天时间来总结我的c#。和以前一样,一张图胜过千言万语。
我们学习要与前面的知识相联系,米老师也常说,我们遇到的问题,在之前都遇到过,只不过它是换了种形式,又或是自己的总结没有到位。
C#与我们之前学过的vb有很多地方相同。
其实,每种语言都有相通之处,vb有一种...
分类:
其他好文 时间:
2014-05-25 21:53:05
阅读次数:
191
机房收费系统的重构已经开始很久了,最近两天才感到有了一点儿头绪。
对这次重构,刚开始计划的是先做数据库,然后优化下,列出每个窗体对表的访问关系,抽出常用的访问作为存储过程,然后把访问数据库的常用方法封装成SqlHelper.这部分就是数据库的部分。
然后就是软件的结构:整体上是分了七层:三层+实体+外观+抽象工厂+D层接口。虽然计划的很好,但是在具体分层这里想了很久。...
分类:
其他好文 时间:
2014-05-25 21:35:49
阅读次数:
180
单向关联的一对多映射,在一的一端维护双向的关系这种做法虽然能实现但是存在很多缺陷,首先生成很多多余的SQL语句,因为多的一端不维护关系,只有一的一端维护,在进行操作时一的一端会发出多余的update语句;其次,因为多的一端不知道一的一端存在,所以在保存多的一端时如果外键为null值,并且在设计数据库时关系字段设为非空,则将无法保存数据。因为单向关联一对多存在很多缺点那就没有其它的办法了吗,可以采用双向关联来优化...
分类:
系统相关 时间:
2014-05-25 21:35:13
阅读次数:
438
1001
暴力
#include
#include
#include
using namespace std;
const int maxn = 100100;
int ll[maxn], rr[maxn];
struct node
{
int x, y, bj;
}e[maxn];
int main()
{
int cas = 1;
int T;
scanf("%d...
分类:
其他好文 时间:
2014-05-25 21:32:50
阅读次数:
268
接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式.
这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成接口的某个实现的对象.
理论上,通过这方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明的将某个实现替换为另一个实现.
下面的代码实例展示了工厂方法的结构:...
分类:
编程语言 时间:
2014-05-25 21:31:24
阅读次数:
321
上次文章中说到。对于一个项目来说,SqlHelper是一个很重要的类。
在正在构造的机房收费系统中。有大量的操作数据库的操作。如今,把重复的代码全部拿出来,就形成了SqlHelper类。这个SqlHelper执行参数化查询。至于使用,只需要提供相应的sql语句和参数。就可以执行数据库的操作了。
实现声明一下啊。这个例子 我也不知道能不能用在机房收费系统上。刚学完设计模式,突发...
分类:
数据库 时间:
2014-05-25 21:27:40
阅读次数:
355
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我就想这个过程肯定是非常慢的。对于他这个没有接触的人来说我想也只能想到这个,更高级点就是正则表达式。但是非常...
分类:
编程语言 时间:
2014-05-25 21:26:01
阅读次数:
386
一、访问者模式定义:
表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作,也就是动态的增加新的方法。
二、Visitor模式结构图:
三、Visitor模式中主要角色:
1)访问者角色(Visitor):为该对象结构(ObjectStructure)中的具体元素提供一个访问操作接口。该操作接口...
分类:
其他好文 时间:
2014-05-25 21:24:57
阅读次数:
352
一、Linux内核相对于传统的UNIX内核的比较:
(1):Linux支持动态内核模块。尽管Linux内核也是整体式结构,可是允许在需要的时候动态哦卸除(rmmod xxx)和加载内核模块(insmod xxx.ko).
(2):Linux支持对称多处理(SMP)机制,尽管许多UNIX的变体也支持SMP,但是传统的UNIX并不支持这种机制。
(3):Linux内核可以抢占(preempti...
分类:
系统相关 时间:
2014-05-25 21:13:54
阅读次数:
360