关于多层次结构的实现
1、引言
经过几十年的发展,软件编程理念经历了随意编程、面向结构、面向对象、面向构件、面向Web服务等阶段。长期以来,一直不太注重业务系统的设计,造成系统结构不清晰,团队协作开发困难、代码维护工作量大。
所以,下定决心,花一些时间,仔细研究一下多层次结构架构的设计。
2、预备知识
分层式结构的优势:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
分层式结构的缺陷:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
通过搜罗网上的一些文章,作一个学习笔记,以供参考。
3、几个关于多层结构的例子
A、先学习一下微软的 PetShop4.0 吧。
几个比较好的文章,对PetShop4.0有一些说明,可供参考。
1、Bruce Zhang's Blog PetShop的系统架构设计
另外,作者还出了一本书,《软件设计精要与模式》,讲的都是架构设计方面的,仔细读了一遍,感觉文字过于华丽,结构不太清晰,叙述方式应该改进,一句话能说清楚的,非要用十句话说。
不过,有些东西还是很精辟,可以作为参考书,但不能当成教材。
B、Websharp使用说明(孙亚民)
Websharp的目标,是开发一个开源的基于Microsoft.Net的轻量级的应用软件系统开发框架,包含以下内容:
一个轻量级的O/R Mapping框架
一个轻量级的AOP框架
一个轻量级的ServiceLocator,主要目的是为整合不同服务端技术的客户端编程。
4、关于SOA
SOA是英文Service-Oriented Architecture,即面向服务架构的缩写。SOA被誉为下一代Web服务的基础框架,目前已经成为计算机信息领域的一个新的发展方向。
1996年,Gartner最早提出SOA的思想,2002年12月,Gartner提出SOA是“现代应用开发领域最重要的课题”,预计到2008年,SOA将成为占有绝对优势的软件工程实践方法。Gartner为SOA描述的远景目标是:在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise)。一些IT组织已经成功建立并实施SOA应用软件了,IBM等厂商也看到了它的价值,继而纷纷跟进。
SOA对于软件架构设计的影响
无论您现在的系统是否牵涉到基于Internet的业务集成,采用SOA推荐的架构都对提高您系统的扩展性有很大帮助,下面是在系统中引入SOA后需要在软件架构方面做出的改变:
* 使用基于文本方式的SOAP调用,摆脱远程调用中出现的函数参数类型等与数据无关的信息,保证所有SOAP传递的都是有意义的商业数据。依赖于Schema,而不是类定义对这些数据进行解释。
* 传统的三层Web应用将可能变成四层结构:传统意义上的商业逻辑层将被进一步划分为存放每个会话(Session)信息的客户逻辑层和与状态无关Sateless的SOA层。
详细参见:http://news.softhouse.com.cn/news/subject/116-SOA专题.html未完待续...