用三层架构与设计模式思想部署企业级数据库业务系统开发 - Asp.net源码交流论坛 - ASP.net源码|- bbs.51aspx.com
2008-06-19 11:08:25 阅读242 评论0 字号:大中小
用三层架构与设计模式思想部署企业级数据库业务系统开发
1关于架构架构这个词从它的出现后,就有许许多多的程序员架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的当然,目前应用三层架构开发也正是业界最关注的主题那么这里我们来看看单层双层三层甚至多层架构到底是怎么一回事单层结构是80年代以来小型应用的结构,在那个结构化编程充斥的时代,还没有出现架构的概念,典型的是基于DbaseFoxbase等小型数据库的应用双层结构的同义词可以理解为传统的客户/服务器结构,尽管目前占统治地位的结构,但是其封装移植等方面的缺陷,已使它步入暮年,典型是基于OracleInfomix等大型数据库的C/S应用三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web下的应用多层结构和三层结构的含义是一样的,只是细节有所不同之所以会有双层三层这些提法,是因为应用程序要解决三个层面的问题
1.2三层架构概述随着软件工程的不断进步和规范以及面向对象编程思想的应用,人们对封装复用扩展移置等方面的要求,使得双层架构显然更加臃肿繁琐,三层程序架构体系应运而生,可以说,三层架构体系结构是面向对象思想发展中的必然产物当然三层架构对于目前来说早已经不是什么新鲜事物了,最早听到这个词应该是几年前使用java知道的吧, j2ee三层架构体系流行了这么多年,一直没有使用过,不过j2ee三层架构体系的提出,对软件系统的架构产生了巨大的影响,MicrosoftBoland这些公司自然不甘落后,例如Microsoft的.net平台,更有甚者,称.net之c#为java的儿子那么何谓三层架构?所谓三层架构,是在客户/服务之间加入了一个"中间层",也叫组件层它与客户层服务器层共同构成了三层体系这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才有三层体系结构,三层是指逻辑上的三层通过引入中间层,将复杂的商业逻辑从传统的双层结构(Client-Server)应用模型中分离出来,并提供了可伸缩易于访问易于管理的方法,可以将多种应用服务分别封装部署于应用服务器,同时增强了应用程序可用性安全性封装复用性可扩展性和可移置性,使用户在管理上所花费的时间最小化,从而实现了便捷高效安全稳定的企业级系统应用
1.3分层描述三层架构三层体系的应用程序将业务规则数据访问合法性校验等工作放到了中间层进行处理通常情况下,客户端不直接与数据库进行交互,而是中间层向外提供接口,通过COM/DCOM通讯或者Http等方式与中间层建立连接,再经由中间层与数据库进行交互当然数据通过中间层的中转无疑是降低了效率,但是它脱离于界面与数据库的完美封装,使得它的缺点显然不值得一提
典型的三层结构分为表示(presentation)层, 领域(domain)层, 以及基础架构(infrastructure)层,而微软的DNA架构定义了三个层:表示层(presentation),业务层(business),和数据存储层(data access),当然J2ee 也有它不同的分法不过都大同小异吧既然我用.net做的开发,这大三层我无需多说了,根据我的理解,我对此做了更详细的分层,界面外观层界面规则层业务接口层业务逻辑层实体层数据访问层数据存储层共七层,其具体的调用如图1所示:
1.2三层架构概述随着软件工程的不断进步和规范以及面向对象编程思想的应用,人们对封装复用扩展移置等方面的要求,使得双层架构显然更加臃肿繁琐,三层程序架构体系应运而生,可以说,三层架构体系结构是面向对象思想发展中的必然产物当然三层架构对于目前来说早已经不是什么新鲜事物了,最早听到这个词应该是几年前使用java知道的吧, j2ee三层架构体系流行了这么多年,一直没有使用过,不过j2ee三层架构体系的提出,对软件系统的架构产生了巨大的影响,MicrosoftBoland这些公司自然不甘落后,例如Microsoft的.net平台,更有甚者,称.net之c#为java的儿子那么何谓三层架构?所谓三层架构,是在客户/服务之间加入了一个"中间层",也叫组件层它与客户层服务器层共同构成了三层体系这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才有三层体系结构,三层是指逻辑上的三层通过引入中间层,将复杂的商业逻辑从传统的双层结构(Client-Server)应用模型中分离出来,并提供了可伸缩易于访问易于管理的方法,可以将多种应用服务分别封装部署于应用服务器,同时增强了应用程序可用性安全性封装复用性可扩展性和可移置性,使用户在管理上所花费的时间最小化,从而实现了便捷高效安全稳定的企业级系统应用
1.3分层描述三层架构三层体系的应用程序将业务规则数据访问合法性校验等工作放到了中间层进行处理通常情况下,客户端不直接与数据库进行交互,而是中间层向外提供接口,通过COM/DCOM通讯或者Http等方式与中间层建立连接,再经由中间层与数据库进行交互当然数据通过中间层的中转无疑是降低了效率,但是它脱离于界面与数据库的完美封装,使得它的缺点显然不值得一提
典型的三层结构分为表示(presentation)层, 领域(domain)层, 以及基础架构(infrastructure)层,而微软的DNA架构定义了三个层:表示层(presentation),业务层(business),和数据存储层(data access),当然J2ee 也有它不同的分法不过都大同小异吧既然我用.net做的开发,这大三层我无需多说了,根据我的理解,我对此做了更详细的分层,界面外观层界面规则层业务接口层业务逻辑层实体层数据访问层数据存储层共七层,其具体的调用如图1所示:
引文来源
----------------------------