3层架构&三层架构标准
- 格式:pdf
- 大小:141.22 KB
- 文档页数:13
三级四层组织结构众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端,早期没有框架这个概念,各个层级的分级不够分明,各层级之间的耦合度较高,造成了一些代码重用性不高,层次混乱等情况,为了解决上述情况在web框架中的发展史中出现了几类优秀的框架,其中MVC和MTV就是其中具有代表性的优秀框架,下面我就从一个小白的角度分析下这些框架。
概念:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
简介:MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C 则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
认识:作为一种经典到不能再经典的架构模式,MVC的成功有其必然的道理,这个道理不同的人会有不同的解读,笔者最认同的一种观点是:通过把职责、性质相近的成分归结在一起,不相近的进行隔离,MVC将系统分解为模型、视图、控制器三部分,每一部分都相对独立,职责单一,在实现过程中可以专注于自身的核心逻辑。
MVC是对系统复杂性的一种合理的梳理与切分,它的思想实质就是“关注点分离”。
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和controller(控制器)。
其中:M 管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
三层建构,浅文深教三层建构是一种软件架构模型,也称为三层体系结构或多层体系结构。
它是指将软件系统按照不同层次进行划分,每一层都有不同的功能和责任,并且每一层之间通过明确定义的接口进行通信和交互。
三层建构通常被用于开发大型复杂的软件系统,它可以有效地将系统的不同功能进行分离,提高系统的可维护性、可扩展性和可复用性。
三层建构一般包括表示层、业务层和数据层。
表示层是用户接口层,也称为前端层,它负责与用户进行交互,接收用户的输入和展示系统的输出。
表示层通常包括用户界面、用户交互逻辑和数据呈现。
用户界面可以是Web页面、移动应用程序等,用户交互逻辑负责处理用户输入的数据,并将其传递给业务层进行处理,数据呈现负责将业务层返回的数据展示给用户。
业务层是系统的核心层,它负责处理系统的业务逻辑和业务流程。
业务层通常包括业务逻辑处理、业务流程控制和业务规则验证。
业务逻辑处理负责对用户的请求进行处理,包括数据的处理、计算和转换等,业务流程控制负责协调不同的业务逻辑处理,确保系统按照定义的流程进行操作,业务规则验证负责验证用户输入的数据是否符合系统的规则。
数据层是数据管理层,它负责管理系统中的数据。
数据层通常包括数据访问、数据处理和数据存储。
数据访问负责对数据库进行操作,包括查询、更新、删除等,数据处理负责处理从数据库中获取到的数据,进行必要的处理和转换,数据存储负责将数据保存到数据库中,并且提供数据的持久化和恢复功能。
三层建构的优点是明确了各个层次的功能和责任,使得系统更易于维护和扩展。
它将系统的业务逻辑和数据操作进行分离,使得系统更易于编写和测试。
三层建构还提供了良好的可复用性和可移植性,可以方便地将各个层进行替换和升级。
三层建构也存在一些缺点。
由于将系统按照不同的层进行划分,可能导致系统的复杂性增加,特别是在处理分层之间的交互和通信时。
三层建构可能导致系统的性能下降,特别是在数据的传输和转换时,需要进行额外的处理和计算。
系统架构图:分层架构图、MVC架构图、客户端-服务器架构图、事件驱动架构图软件系统架构图是用于描述软件系统组织结构、模块划分、组件交互和运行方式的图形表示。
根据不同的系统和设计需求,可以有许多不同的系统架构图,以下是一些常见的系统架构图及其详细描述:1.三层架构图(Three-tier Architecture Diagram):2.三层架构图是一种常见的软件系统架构图,它将系统分为三个主要层次:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。
这种架构图通常用于构建企业应用程序和Web应用程序。
表示层负责与用户交互,提供用户界面和展示数据。
业务逻辑层负责处理业务逻辑和规则,实现应用程序的核心功能。
数据访问层负责与数据源进行交互,通常是指数据库或其他数据存储系统。
这种分层架构可以提高系统的可维护性、可扩展性和可重用性。
3.MVC架构图(Model-View-Controller Architecture Diagram):4.MVC是一种设计模式,用于将应用程序的数据模型(Model)、用户界面(View)和控制逻辑(Controller)分离开来。
这种架构图通常用于构建Web应用程序和桌面应用程序。
模型(Model)负责处理数据和业务逻辑,视图(View)负责提供用户界面,控制器(Controller)负责处理用户输入和调用模型与视图。
MVC架构图可以提高系统的可维护性、可扩展性和可重用性,并且使得系统更容易进行测试和调试。
5.客户端-服务器架构图(Client-Server Architecture Diagram):6.客户端-服务器架构图是一种网络应用程序架构图,它将应用程序分为客户端和服务器两个部分。
客户端发送请求,服务器接收请求并返回响应。
这种架构图通常用于构建分布式系统和网络应用程序。
MVC是指Model模型,View视图和Control控制器,也就是业务逻辑,界面和用户输入,这样划分系统比较清晰,这是设计人员要考虑的事。
什么是C/S结构。
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。
这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。
由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。
而且代价高,效率低。
如我院使用的上海超兰公司“案件统计”管理软件就是典型的C/S体系结构管理软件。
什么是B/S结构。
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
.net网页开发中的三层架构1.用VS新建一个网站2.在上面创建的项目的解决方案上右键“添加”-“新建项目”-“类库”。
创建两个类库Bll(业务逻辑层)和Dal(数据访问层)。
3.自此,以上两层和第一步中建立的网页(表示层)组成了一个网站的三层架构。
4.首先编写Dal数据访问层的代码,其中用到了数据库的连接,在建立SqlConnection对象的时候,需要用到连接字符串,为了得到连接字符串,我们可以采用如下步骤:(1)在网站页面中拖入一个SqlDataSource控件(2)配置它的数据源->新建连接(3)配置连接(4)此时按确定后返回即可看到连接字符串代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient; //导入这个命名空间,用于连接数据库namespace Dal{public class UserInfo{///<summary>///数据访问层中添加用户信息///</summary>///<param name="UserLogin">用户登陆名</param>///<param name="UserPsw">用户登陆密码</param>///<param name="UserName">用户姓名</param>///<param name="UserRemark">用户备注</param>///<returns>数据库中受影响的行数</returns>public static int AddUserDal(string UserLogin, string UserPsw,string UserName, string UserRemark){//与数据库建立一个连接SqlConnection conn = new SqlConnection("Data Source=10.70.9.171;Initial Catalog=test;User ID=sa");//打开数据库conn.Open();//利用一个现有连接创建一个Command,用以执行sql指令SqlCommand cmd = conn.CreateCommand();//给Cmmand写入sql语句mandText = "insert into UserInfo values('" +UserLogin.ToString() + "','" + UserName.ToString() + "','" +UserPsw.ToString() + "','" + UserRemark.ToString() + "')";//执行sql指令并返回受影响的行数return cmd.ExecuteNonQuery();}}}5.编写Bll,既业务逻辑层的代码。
数据库系统的三级模式结构及每级模式的作用
数据库系统的三级模式结构是指数据库系统的组成部分之间物理上的
结构,包括应用程序、操作系统、数据库管理系统三个层次。
依次为:
1. 应用程序层:这一层是用户和数据库系统的接口层,实现程序员将
用户需求以及应用程序的设计翻译成对数据库系统有意义的数据、规
则和操作。
2. 操作系统层:这一层提供数据维护操作,管理并实现数据系统的空
间管理和大量的文件操作,包括存储空间的管理、文件的建立、文件
的读写操作,以及文件之间的联系。
3. 数据库管理系统层:这一级是数据库技术的核心,用于管理和控制
各种数据库应用程序,负责组织和管理数据库数据,为用户提供较为
友好的数据库环境,实现数据安全和数据一致性等功能。
每个模块的作用如下:
1. 应用程序层:提供用户界面,实现用户和数据库系统的交互,在数
据库系统中提交、发出和处理数据查询,最终完成应用系统的执行。
2. 操作系统层:提供数据库和磁盘存储之间的接口,为数据库操作提
供基础环境,通过管理数据文件、空间管理和逻辑操作,保证数据库
系统运行的完好性和安全性。
3. 数据库管理系统层:主要任务是对数据库中的数据进行管理,提供
较为友好的数据库环境,并实现数据访问安全和一致性等功能。
此外,还提供储存、查询和维护等功能,使用户可以轻松的使用数据库系统。
MVC三层的命名⽅式个⼈初学时候特别迷惑,三层架构的命名⽅式好多种,个⼈整理下,希望能对有⽤的⼈有些帮助。
⼀、实体层pojo: POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
entity: Entity 等于实体,在计算机⽹络中,实体这⼀较为抽象的名词表⽰任何可能发送或接受信息的硬件或软件进程。
在许多情况下,实体就是⼀个特定的软件模块。
bean: JavaBean更多的是⼀种规范,也即包含⼀组set和get⽅法的Java对象。
domain: domain通常就代表了与数据库表⼀⼀对应的javaBean。
⼆、数据持久层dao: 主要是做数据持久层的⼯作,⼀般持久层好像命名都为dao。
mapper: 在Mybatis中⼀般习惯把映射⽂件起名为xxxMapper.xml,使⽤Mybatis的可能习惯起名为Mapper。
reponrsitory: 使⽤SpringDataJpa需要继承JpaResportity,⼀部分⼈可能习惯起名为reponrsitory。
个⼈还是习惯dao和mapper。
三、业务层service: Service层主要负责业务模块的逻辑应⽤设计。
个⼈所知好像都是这个命名⽅式。
四、控制层action:⼀般作为控制层,引⽤对应的Service层,结合Struts的配置⽂件,跳转到指定的页⾯,当然也能接受页⾯传递的请求数据,也可以做些计算处理。
好像SSH框架命名习惯⽤action层controller: Controller层负责具体的业务模块流程的控制,在此层⾥⾯⼀般调⽤Serice层的接⼝来控制业务流程,控制的配置是在Spring的配置⽂件⾥⾯进⾏,针对具体的业务流程,会有不同的控制器。
个⼈所知有限,希望知道更多命名⽅式的可以告知。
一、引言随着工程项目的日益复杂化和项目管理要求的不断提高,工程项目管理系统在工程行业中的应用越来越广泛。
工程项目管理系统(Project Management Information System,PMIS)是一种集成了项目管理理论与信息技术的综合管理系统,它通过优化资源配置、提高管理效率、降低成本风险,为工程项目提供全方位、全过程的管理服务。
本文将从系统架构、功能模块、技术选型等方面对工程项目管理系统进行阐述。
二、系统架构1. 三层架构工程项目管理系统采用三层架构,包括表示层、业务逻辑层和数据访问层。
(1)表示层:主要负责用户界面设计、交互和展示。
目前,主流的前端技术有HTML5、CSS3、JavaScript等,常用的前端框架有Vue、React、Angular等。
(2)业务逻辑层:负责处理业务逻辑,实现项目管理功能。
业务逻辑层采用Java、Python、C#等编程语言编写,并使用Spring Cloud、Django、.NET等框架。
(3)数据访问层:负责数据持久化操作,实现数据存储和检索。
数据访问层采用关系型数据库(如MySQL、Oracle)或非关系型数据库(如MongoDB、Redis)。
2. 微服务架构为了提高系统的可扩展性和可维护性,工程项目管理系统采用微服务架构。
微服务架构将系统拆分为多个独立、可扩展的服务,每个服务负责特定的功能模块。
微服务之间通过API网关(如Zuul、Kong)进行通信。
三、功能模块1. 系统管理系统管理模块负责用户管理、角色管理、菜单管理、权限管理等,确保系统的安全性。
2. 项目管理项目管理模块包括项目立项、项目计划、进度管理、资源管理、风险管理等功能,实现项目全生命周期管理。
3. 合同管理合同管理模块负责合同签订、合同变更、合同执行、合同结算等功能,确保合同的有效执行。
4. 质量管理质量管理模块包括质量检查、隐患整改、质量验收等功能,保证工程质量。
5. 成本管理成本管理模块负责成本估算、成本控制、成本核算等功能,实现项目成本的有效管理。
Web系统的三层结构①数据访问层 (2)②业务逻辑层 (2)③用户表示层 (3)B/C系统常常采用如图4所示的多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能。
根据所实现的逻辑功能,按照分布式结构的思想,整个应用程序结构大致分为三层:用户表示层、业务逻辑层和数据访问层,也可以根据实际需求将其扩展为N层体系结构。
在系统的开发过程中,需要在逻辑上清晰三层分别实现的功能,并以此设计整个系统的实现及管理整个系统的代码文件。
不能把处于不同层次的文件混在一起。
否则会造成系统逻辑上的混乱,是庞大的系统难于管理和维护,容易导致系统的失败。
图4 Web系统的典型多层体系结构由图4我们了解到,数据访问层从数据源或其他服务中获取原始数据,业务逻辑层把数据转换为符合业务需求的有意义的信息,最后用户表示层把信息转换为用户能够理解的内容。
层次体系结构就是以这种方式来完成多个复杂的业务功能。
当应用程序达到一定的复杂程度之后,创建N层体系结构的应用程序,清晰的层次将使得系统的生成、扩展和维护变得轻松。
①数据访问层数据访问层中包含一个类Database,它完成了最基本的数据访问功能。
大多数业务应用程序必须访问存储在数据库中的数据。
该数据层中的数据访问组件负责将存储在这些数据库中的数据公开给业务逻辑层。
数据访问组件将业务逻辑层与特定数据存储解决方案的细节隔离开来。
这种隔离具有以下优点:1)尽量减少数据库提供方的更改造成的影响。
2)尽量减少数据表示的更新所造成的影响3)封装操作单个位置的特定数据项的所有代码,极大地简化了测试和维护过程。
可以直接用作简单应用程序的数据访问组件。
通过开发一组用于管理对象关系映射复杂性的类,对于更复杂的应用程序很有益处。
②业务逻辑层在 2.0中,利用SqlDataSource、AccessDataSource等控件无需编写代码就可以选择、更新、插入和删除数据库数据,为开发工作提供了极大的方便。
三层架构标准 微软的.Net平台给应用程序开发提供了一个非常好的基础系统平台,但是,如何在这个系统平台上构建自己的应用系统,还需要我们针对应用系统的特点,构建自己的应用系统框架(Framework)。笔者在应用.Net开发系统的过程中,结合多年的开发经验,设计了一套.Net下的应用系统开发框架,以及相应的中间件和开发工具,已经在多个项目中和软件产品中应用,取得了很好的效果。 系统的基本结构 对于典型的三层应用系统来说,通常可以把系统分成以下三个层次: a.数据库层 b.用户界面层 c.应用服务层
对于应用系统来说,在这三个层次中,系统的主要功能和业务逻辑在应用服务层进行处理,对于系统框架来说,主要处理的也是这个层次的架构。 对于应用服务层来说,需要处理以下几个方面的问题: 数据的表示方式,也就是实体类的表示方式,以及同数据库的对应关系,即所谓的O-R Map的问题。在框架中,这个部分位于数据实体层 数据的存取方式,也就是实体类的持久化问题,通常采用数据库来永久存储数据实体,这就需要解决同数据库的交互问题。在框架中,这个部分位于实体控制层 业务逻辑的组织方式。在面向对象的系统中,业务逻辑是通过对象间的消息传递来实现的。在这个部分,为了保证逻辑处理的正确性和可靠性,还必须支持事务处理的能力。在框架中,这个部分位于业务规则层 业务服务的提供方式。为了保证系统的灵活性和封装性,系统必须有一个层来封装这些业务逻辑,向客户端提供服务,同时作为系统各个模块间功能调用的接口,保证系统的高内聚和低耦合性。这里的客户指的不是操作的用户,而是调用的界面、其他程序等。Web层(ASP.Net页面)通常只同这个部分交互,而不是直接调用业务逻辑层或者数据实体的功能。在框架中,这个部分位于业务外观层。 将系统划分成这么多层次,其好处是能够使得系统的架构更加清晰,并且,系统的层次划分的清晰,就意味着每个层次完成的功能就比较单一,也就意味着这些功能的代码是有规律可循的,也就意味着我们可以开发一些工具来生成这些代码,从而减少代码编写的工作量,使得开发人员可以将更多的精力放到业务逻辑的处理上。正是基于这个想法,我们开发了针对这个框架的开发工具,在实际的使用,能够减少很多代码的编写量,效果非常好。同时,为了应用服务层更好的工作,我们设计了一个支持这个框架的应用系统中间件,现在,除了本公司,也已经有多家其他公司在试用这个中间件系统。
数据库服务层
数据库用于对象的持久化储存,也即数据的存放。数据库层采用关系型数据库。系统可以支持各种主流的关系型数据库系统,包括SQL Server7.0以上版本和Oracle8以上版本的数据库。
框架提供了一套类库,作为客户端同数据库之间交互的中介,很大一部分功能就是要对两者之间的交互进行控制,并提供一系列提高性能和安全性的服务。
用户界面层
用户界面层用于同用户的交互,可以是Web浏览器用户或传统客户端,但是从系统的可维护性等方面考虑,一般使用Web浏览器为客户端。利用这套框架和开发工具,可以构建纯Web客户端的应用系统,大大方便系统的维护和部署。
数据实体层
这个层用于封装实体类的数据结构,用于映射数据库的数据,表现实体类的类结构和数据。在开发过程中,我们充分感觉到了.Net中DataSet数据对象的强大功能,因此,在O-R Map上,我们实际上是通过DataSet来实现的。
数据实体层包含三个方面的内容:
1) 核心类库定义了EntityData类,这个类继承了DataSet作为所有实体类的框架类,定义了各个实体类的一般结构,至于每个实体类具体的结构,在运行时刻由下述办法确定:
2) 实体类的定义通过XML文件来确定,该XML文件符合JIXML对象实体描述语言的规范(注:JIXML是迪讯开发的 对象—实体 映射语言),用于确定实体类的结构。例如,一个关于订单的实体类的定义可能类似于下面的结构:
3) 实体类的结构由一系列的类构造器在运行时刻,根据上述规范制定的XML来生成。这些类构造器实现IClassBuilder接口。系统核心类库预定义了一些标准的Builder,一般情况下,直接使用这些标准的Builder就可以了。
类构造器采用的类构造工厂的设计模式,如果使用者觉得标准的Builder不能满足要求,也可以扩展IClassBuilder接口,编写自己的类构造器,然后在系统配置文件中指明某各类的类构造器的名称即可。
系统同时提供了实体对象缓存服务。通过上述方式产生的实体对象可以被缓存,这样,在第二次调用该对象时,可以从缓存中读取,而不用从头重新生成,从而大大提高了系统的性能。
数据实体层采用这种设计模式具有以下优点: 1.实体类定义XML文件可以通过工具来自动生成,减轻开发工作量。 2.在修改实体类的定义时,如果修改的部分不涉及到业务逻辑的处理,只需要修改XML文件就可以了,不用修改其它程序和重新编译。 3.系统提供的实体对象缓存服务可以大大提高了系统的性能。 4.类构造工厂的设计模式大大提高了系统的灵活性。
数据访问层 这个层次提供对数据库操作的服务,通常执行以下一些操作: 1.连接数据库 2.执行数据库操作 3.查询数据库,返回结果 4.维护数据库连接缓存 5. 数据库事务调用
框架的类库中包含了数据访问服务,封装了常用的对各种数据库的操作,可以访问不同类型的数据库,使得应用系统在更换数据库时,不用修改原有的代码,大大简化了开发和部署工作。 数据访问服务还维护数据库连接缓存,提高系统性能,以及对数据库事务调用的服务。 数据访问服务在核心类库中主要通过DBCommon类来提供对数据访问功能调用的服务。
实体控制层 实体控制层用于控制数据的基本操作,如增加、修改、删除、查询等,同时为业务规则层提供数据服务。
业务规则层 业务规则层包含各种业务规则和逻辑的实现业务规则层的设计通常需要进行很好的建模工作。业务规则的建模,一般采用UML来进行。可以使用UML的序列图、状态图、活动图等来为业务规则建模。这个部分的工作,通常通过一系列的类之间的交互来完成。例如,在一个库存系统的入库单入库操作中,除了需要保存入库单外,在这个之前,还必须对入库单涉及的产品的数量进行修改
业务外观层 业务外观层为 Web 层提供处理、浏览和操作的界面。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。 业务外观层只是将已经完成的系统功能,根据各个模块的需要,对业务规则进行高层次的封装。 框架没有规定采用在业务外观层采用何种实现方式,但是建议使用Web Service来提供服务。采用IIS为Web服务器,可以很方便的部署Web Service。
Web层 Web 层为客户端提供对应用程序的访问。Web 层由 ASP.NET Web 窗体和代码隐藏文件组成。Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现各种控件的事件处理。 通常,对于数据维护类型的ASP.NET Web 窗体和控件事件处理代码,我们提供了工具来生成,减轻开发工作量。 除了上述6个逻辑层以外,系统通常还包括一个系统配置项目,提供应用程序配置和跟踪类。 框架中间件提供的主要服务 框架中间件提供一系列的服务,以实现对构筑其上的应用软件的支持。
O-R Map:对象—关系数据库映射服务 这部分完成应用程序中的实体对象同关系型数据库的映射,主要为数据实体层提供服务。 在这个部分中,定义了JIXML实体—对象映射语言。这是我们开发的一种使用XML来描述对象—实体间的映射关系的规范语言,开发者可以使用它来描述对象—实体间的映射关系。开发者也可以直接扩展IClassBuilder接口,手工完成对象—实体间映射关系的代码。系统在运行时刻,会根据配置文件的设置,调用实体类的构造器,动态构造出实体对象的结构。
Database Access:数据库访问服务 这个部分提供对数据库访问的服务。在这个框架上构建的应用软件系统,不直接操纵数据库,而是通过类库提供的数据访问服务来进行。数据库访问服务作为应用程序同数据库之间的中介者,能够有效防止对数据库的不安全操作。 数据库访问服务同时提供了对数据库库事务处理的调用方法,开发者可以很方便的通过数据库访问服务调用数据库的事务处理功能。 DML Search:数据操纵语句查询服务
在系统架构中,对数据库进行操作的SQL语句不在程序中硬编码,而是同数据实体层的实体类结构一样在XML文件中描述,其结构符合JIXML规范。这些操纵语句中的基本部分,如数据的插入、删除、修改、查询等语句,可以通过我们自己开发的工具生成。这样,在系统的便于修改性和灵活性上能够得到很大的提高。这样一来,系统必须提供这些数据操纵语句的查询服务。核心类库提供了在XML文件中查找这些数据操纵语句和相关参数的服务。
Entity Buffer&Search:实体对象缓存&查找服务
系统中的实体对象在第一次创建后,就被系统缓存起来,当系统第二次需要访问该对象时,不需要再从头创建这个对象,而只需要从缓存中取出即可。这就是迪通提供的实体对象缓存服务。同这个服务相关联的是实体对象的查找服务,即从这些缓存的实体对象中寻找相应的实体对象的服务。
Transaction:事务处理服务 我们充分利用Windows COM+事务处理机制的强大功能,使在应用程序能够充分使用事务处理的功能,保证应用系统的稳定性和可靠性。 当某个类需要使用事务处理功能时,首先使该类继承System.EnterpriseServices名称空间下的ServicedComponent类,然后使用如下方式申明该类使用的事务类型:[Transaction(TransactionOption.Required)]。系统在该类第一次被调用时,自动在COM+服务中注册中该类,使得应用程序可以使用COM+的事务处理功能。
系统支持如下几种事务处理类型: 成员名称 说明 Disabled 忽略当前上下文中的任何事务。
NotSupported 使用非受控事务在上下文中创建组件。
Required 如果事务存在则共享事务,并且如有必要则创建新事务。
RequiresNew 使用新事务创建组件,而与当前上下文的状态无关。
Supported 如果事务存在,则共享该事务。
核心类库概要说明 在框架的核心类库中,我们提供了以下核心类和接口:
1.EntityData:定义实体类的通用结构 2. IClassBuilder:定义实体类结构构造的结构。迪通中预定义了根据这个接口实现的几个标准类: