|
模式与J2EE
|
|
来源:中国IT实验室整理 时间:2007-4-7
|
|
信息工程是以当前数据系统为基础,在一个企业或企业的主要部门,关于建设信息系统的规 划、分析、设计和构成的一整套相互关联的正规化、自动化的技术应用。——James Martin 正如上面信息工程的创始人James Martin为信息工程的概念所做定义类似,模式(Patterns)的创始人建筑师Christopher Alexander在<模式语言,1977、1979>一书中对模式的概念进行了如下描述(附注:书名后面的年份代表在各个不同时期的作品,下面形式同上):每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次的使用该解决方案而不必做重复劳动。每个模式是由三部分组成的一个规则,这个规则描述特定环境、问题和解决方案之间的关系。简单的说,没有一个模式是独立的实体,每个模式都存在着相互支持,但支持的程度不同:大的模式可以内嵌小的模式,同等层次的模式并列存在,而小的模式被嵌入到大的模式之中。——Christopher Alexander模式的概念在软件行业被采用以后,得到的广泛的发展,现在已经存在许多种类型的模式应用,其中比较有名的箸作有:GoF(Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人,简称:Gang of Four[GoF])的<设计模式,1995>,Martin Fowler的<分析模式,1997>,Frank Buschmann等人的<体系结构模式,1996、2000>、Jim O.Coplien、Niel Harrison等人的<编程模式,1995、1996、1998、1999>和Deepak Alur等人的等,其中最具影响的是GoF的<设计模式>一书,书中详细讨论了三种类型,共23种模式。好的设计源于工作中经验的积累,当设计使用标准的模板以模式的方式进行交流时,模式就成了交流和重用的强大机制,并且可以改善设计和开发软件的方式。模式可以帮助我们在一个特定的环境里整理并记录已知的可重现的问题及解决方案,并且通过模式来与他人交流这些知识,这些模式可以解决在不同环境中重复出现的问题。模式可以使设计重复使用,重复使用已知的解决方案可以缩短设计和开发应用的周期,有效的使用模式,可以使我们远离重复投资的怪圈。模式的关键在于简单性和可重现性。 举一个模式应用的简单示例。例如,在你的便携式电脑上运行一个进程中的对象,并且这些对象需要和运行在另一进程中的别的对象通信,也许这一进程并不在你的便携式电脑上,而在别的地方。你又不想让系统中的对象担心如何找寻网上的其他对象或者执行远程过程调用。这时,可以使用代理(Proxy模式,详见GoF的<设计模式>一书)模式来解决这个问题,你能做的事就是为这个远程对象在你的本地过程中建立一个代理对象,该代理对象和远程对象具有相同的接口。你的本地对象利用通常处理过程中的消息发送来和代理交谈。这时代理对象负责把消息传送给实在对象,而不管实在对象位于何处。 由于下面要讲的Java 2平台的企业版(J2EE)应用模式中很多用到了设计模式与重构(Refactoring)的概念,所以在此有必要再概要介绍一下重构的概念。重构已经被证明可以阻止软件的腐朽和衰败,关于重构方面的有名箸作当然首推是Martin Fowler所写的<重构,1999>一书了,书中详细介绍了重构的七大类型,共70余种具体的重构手法,同时也指出测试机制在重构中的重要性。书中Martin Fowler对重构的概念进行了详细说明:构是对软件内部结构的一种调整,目地是在不改变[软件之可察行为]的前提下,提高其可理解性,降低其修改成本。重构是一种有纪律的、经过训练的、有条不紊的程序整理方法,可以将整理过程中不小心引入的错误的机率降到最低,本质上说,重构就是在代码写好之后改进它的设计。重构之前,首先检查自己是否有一套可靠的测试机制,这些测试必须有我检验能力。—— Martin Fowler
表一:表示层模式
表二:业务层模式
表三:集成层模式
由于J2EE模式众多,篇幅有限,这里只概要介绍其中的一种应用模式 - 集成层的数据访问对象(DAO)模式,有兴趣的读者可以参看下面参考文献中的资料。 数据访问对象模式
[1] [2] 下一页
 【责编:Lili】 |
 |
|
|
|