许多人发现开发多层应用程序很困难。举个例子:对于一个只有一两个人的小公司来说,一个人可能承担老板、出纳、会计、营销、销售、开发等多项工作。对于大公司来说,会有严格的分工。每个人只完成一部分工作,需要相互配合才能保证正常运行。以前的开发程序类似于一个小公司,从用户界面到数据库访问的所有功能都在一个页面上完成。这些缺点包括:
1.开发难度大,很难实现多人协同开发
2.一旦数据库或规则发生变化,整个页面可能需要再次修改,增加了维护成本
3.由于所有功能混合在一起,程序可重用性差。如果你开发一个新项目,你几乎必须重写代码
为了解决这个问题,人们提出了“多层应用”的概念,类似于权责明确的大公司,划分页面,将数据访问、业务规则等功能放在专门的文件中。两层架构、三层架构、MVC流行。
一、双层架构
两层架构将程序分为用户界面层和数据访问层。其本质是将访问数据库的代码放入数据访问层,而用户界面层通过数据访问层操作数据库。交互关系如下:(“-”表示双向箭头)
用户界面-数据访问-数据库
二.三层架构
三层架构,将两层架构中的业务逻辑与数据访问层分离,成为单一的业务逻辑层。程序分为三层后,数据访问层只操作数据库,而业务逻辑层负责各种数据处理。从顶层来看,它主要包括四个组件:DAL(数据处理层)、BLL(业务逻辑层)、UI(用户界面层)和Model(实体模型)。其中,前三者常被称为三层结构。1)数据访问层(DAL):有时称为持久层,其功能主要负责数据库访问。简单来说,我们可以选择、插入、更新和删除数据表。如果要添加ORM元素,将包括对象和数据表之间的映射,以及对象实体的持久化;2)业务逻辑层(BLL):是整个系统的核心,关系到本系统的业务(领域);3)用户界面层(UIA):是系统的UI部分,负责用户与整个系统的交互。在这一层,理想的状态是不应该包含系统的业务逻辑。表示层中的逻辑代码只与接口元素相关;4)实体模型层:包含所有数据信息,以各种实体实例的形式存在。是整个系统基础层次;
一个完美的三层结构应该是:修改表示层不修改逻辑层,修改逻辑层不修改数据访问层。并且在一定程度上实现了解耦。
三层架构主要是让项目结构更清晰,分工更明确,有利于后期维护升级。它解决了整个应用中各个业务操作流程不同阶段的代码封装问题,使程序员更加关注某一阶段的业务逻辑。但是性能可能不会提高,因为主程序模块只有在子程序模块没有完成的时候才能处于等待状态。这说明将应用程序分层会给其执行速度带来一定的损失。但是从团队开发效率的角度,我们可以感受到截然不同的效果。
需要注意的是,虽然三层架构有很多优点,但是如果你的程序比较简单,或者以后不会被重用,或者没有必要采用两层架构,那么采用两层或者普通的程序开发可能会更快。根据实际情况。
三.手动音量调节
m是Model层,主要负责业务逻辑和数据库交互;v为View层,主要用于显示数据和提交数据;c是Controller,主要用于捕获请求和控制请求转发;
MVC在应用的视图层(BS结构)分为几个功能不同的模块,主要解决应用用户界面的样式替换问题,尽可能将显示数据的HTML页面与业务代码分离。
4.三层结构与MVC的区别
如果你与众不同,看图片就能明白:
图2。MVC和三层架构的区别
三层架构由接口层(UI)、业务逻辑层(BLL)和数据访问层(DAL)组成,而MVC由模型层(M)、接口层(View)和控制层(Controller)组成,三者互不对应。如果坚持给它们对应,三层架构中的UI对应MVC中的视图,用来显示和获取界面的数据;三层架构中的BLL层和DAL层对应于MVC中的Model层,用于处理从上层传输的数据和从数据库中获取的数据。MVC中的Controller最多是三层架构UI的一部分。
动词(verb的缩写)三层架构参考关系
模型层:不引用任何项目;DAL层:参考Model,通过读取web.config中的程序集加载类的实例,并返回给BLL使用;BLL层:参考模型;UI层:参考模型,BLL;
方法是在资源管理器中右键单击项目文件并添加引用。在弹出的对话框中,选择项目标签,选择适当的类库,然后单击“确定”。然后在项目文件中使用“引用类的名称空间”添加。
引用已添加到项目中,但找不到指定的类库文件。你可以查:1。引用的项目是否有语法错误,头文件中是否使用“namespace”添加;2.添加类库时,类库是否是公共的。
以上就是本文的全部内容,希望大家喜欢。