【asp源码栏目提醒】:网学会员为需要asp源码的朋友们搜集整理了ASP.NET多层架构程序设计 - 软件工程相关资料,希望对各位网友有所帮助!
ASP.NET多层架构程序设计 黄一J、龙(广东电网公司惠州惠阳供电局) 摘要:本文介绍了基于NET平台的多层架构分析设计思路,遵循MVC 中,并且只存在唯一一个,每次DatabaseAssistent或Transac—模式建立了一个四层NET系统架构,并运用多种程序设计模式进行系统设 tionAssistent需要模板时都调用它,这样系统性能会得到一定的提计,对类依赖解耦,从而提高了系统适应能力、可维护性和可扩展性,保证了 高,而且节约了内存资源。
这里我们用到了单件模式来实现。
使系统高效、持久的运作。
Common通用层中继承DataObject的对象类需要有且只有一个作 关键词:NET多层架构设计模式MVC 为模板用的实例,并要求提供一个全局访问点【6】。
具体实现使用静 1研究背景 态初始化方法,并定义静态私有变量一instance、私有构造函数及公 近年的Web开发方面的探索方向转向了程序框架和设计模式 共静态方法Getlnstance(),确保该对象类在系统中存在唯一的实上,这是因为低耦合、高重用、强扩展性、强持久性、高效率的编程思 例,主要为Persistent数据持久层服务。
想更适合变化万千的电子商务Web应用开发,让程序员在委托人 本架构中所使用的单件模式采用懒汉式单件模式(LazySingle—需求变动、平台改变、混合数据库的情况下可以相对简单的修改程 ton),这是最简单的单件模式的实现方式,但方法存在缺陷,在多线序,提高维护效率和效果。
程访问时会出现问题。
假设common中的有一个地区的对象 2系统层次分析 AreaObject,它的属性中Instance是AreaObject的静态实例,在第 架构同“软件架构”定义,是一系列相关的抽象模式,用于指导大 一次创建AreaObject的时候构造函数AreaObject()会创建一个全型软件系统各个方面的设计;是一个系统的草图,它所描述的对象是 局唯一的静态实例。
该静态实例会被频繁的访问,但不对该静态实例直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致 做修改,因此我们不必担心会出现多线程操作的危险。
除了com—地描述组件之间的通信。
在面向对象领域中,组件之间的连接通常用 mon层继承DataObject的对象外,DatabaseManage也是一个经接口来实现。
一个成熟的架构具有以下优点:(1j安全性:根据业务的 常被访问的类,每次存储数据都要使用它,因此我们也使用单件模式需要,可以通过减少访问数据的入口点把一些危险的系统功能给屏 使之全局唯一。
同样,DatabaseManage也是只读的,此类是线程安蔽了,从而提高其安全性。
②可扩展性:架构的搭建使用了多种设计 全的。
DBSession在数据库访问中提供访问的连接,本架构遵循.模式,通过多种策略来提高系统的可扩展性。
@可定制性:可以根据 NET标;隹模式处理非内存资源,实现IDisposable接口以释放非受客户群的不同和需求的变化进行调整。
@可维护性搭建架构的目的 控资源。
Persistence中DBSession类用以维持数据库对话,该类实之一就是为了提高系统的可维护性,通过对各层功能的明确细分提 现Dispose()方法供调用以释放资源,方法中调用SuppressFinalize高其可维护性。
(this)防止调用析构函数对资源重复处理,实现受保护的虚拟方法 一般构成系统的模块有:人机交互界面,业务处理模块,这是传 Dispose(b001),用以分解共同事务。
统的二层架构设计。
然而一个系统中操作最频繁的是数据库访问,随 现在我们模拟一次简单的访问,用户通过视图页面对服务器发出着电子商务系统越来越复杂,持久,高效的数据库访问组件是迫切需 请求,服务器中的控制器组织数据传递向下层,触发业务逻辑层的某要的,因此,新的架构设计中,人们将数据库另立一层,专门为数据库 方法Business.MethodA调用数据持久层中Persistent.SQLState—访问服务。
除了数据持久层外,我们还需要一个服务层。
对于大型的 mentGenerator类,将以上的字段对象、条件对象和排序对象将交由电子商务系统,跨平台,分布式计算,服务器群互动通信是必不可少 Persistent.SQLStatementGenerator来组织生成SQL语句,然后将的,服务层设立的意义就是为了实现这些功能。
那么我们根据分析,将整个网站的层次分为数据持久层、业务逻辑层、服务层、表示层。
此SQL语句和静态的对象模板ObiectA:DataObject交由数据持久 层中Persistent.DatabaseAssistant,Persistent.DatabaseAssistant 3各层次的作用 数据层Persistent数据持久层是负责管理数据库访问的工作, 调用Persistent.DBConfigurator创建Persistent.DBSession对象对 数据库进行会话,由Persistent DatabaseManage执行SQL语句。
数为维持对数据库持久化操作而建立,该层处于程序框架的最底层,是程序框架中最重要的一层。
本层主要完成SQL语句生成,链接多种 据库返回数据,会话结束,调用DBSession.Dispose()回收连接资源。
数据将由数据库向上传递到数据持久层,数据持久层会把每行数据包数据库,增删改操作,事务处理,关键字过滤等工作。
该层不依赖于其 装在一个相应的Obiect:DataObject中并添加到ArrayList,完成所有他层,完全独立工作,供其他层调用。
数据的读取包装后,ArryList向上传递,到达业务逻辑层。
业务逻辑层 业务层Business业务逻辑层主要负责组织业务以及提供数据库基本表的操作,作为表示层和数据持久层的逻辑枢纽,业务逻辑层 接收到ArrayList后,经过加工组织后继续向上传递,控制器接收结果扮演了整个系统的功能的核心角色,包含大量处理各种业务的类,类 并用ArrayList组织视图返回给客户端,这样便完成了一次完整的互之间的关系繁多,对通用组件和数据持久层的依赖度非常高【51。
交。
参考文献: 服务层Service服务层提供了基干WebService的跨平台服 …张沙清,聂小东,吕诗芸基于Struts和Hibernate的电子商务系统构务,使系统可扩展为分布武、互动式的应用程序,同时也为客户端 建研究【J1情报杂志2008 72(5):37~39.AJAX异步请求提供服务。
f2J赵洁,肖南峰基于.NET可裁剪式多层SmartERP计 表示层View表示层主要负责给用户提供视图,实现系统与用 算机工程.2008年第8期户之间的信息互交。
无论是C/S模式还是B/S模式,表示层都应该 【3】张跃廷,王小科,张宏宇.ASP.NET技术方案宝典【M】北京人民邮电以提高用户体验为最大目的,提高信息互交的效率和用户满意度。
出版社2—67 4架构运作原理与程序设计模式 f4J、张逸Design&Pattern<解剖PETSHOP)〔DB/OL〕.2006一”一05 通常我们将一个Obiect:DataObiect实体类作为其中一个参数 http://www.cnblogs.com/way
上一篇:
[ASP NET MVC2 系列] 理解MVC应用程序的执行过程
下一篇:
一个人晕着也能去看病打针