三层架构各层之间的依赖关系是什么?

麻袋 2024-05-16 18:20:39
最佳回答
一般讲到三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等。  数据访问层dal,业务逻辑层bll。表现层ui (界面类的)【 model(数据模型层,主要放的我就不用说了。一般都是数据库中的。) ,】model是贯穿的。所有的都引用它,bll引用dal ui引用dal 和bll 然后就是调用  三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有b/s应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。  普通三层:数据访问层dal:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。 业务逻辑层bll:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。 表示层ui:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。业务实体model:用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。 通用类库common:通用的辅助工具类  工程模式:简单工厂模式又称为静态工厂方法(static factory method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。  工厂角色(creator)  是简单工厂模式的核心,它负责实现创建所有具体产品类的实例。工厂类可以被外界直接调用,创建所需的产品对象。  抽象产品角色(product)  是所有具体产品角色的父类,它负责描述所有实例所共有的公共接口。  具体产品角色(concrete product)  继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标。工厂类返回的都是该角色的某一具体产品。  通常情况下,客户端不直接与数据库进行交互,而是通过com/dcom通 讯与中间层建立连接,再经由中间层与数据库进行交换.  完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层 否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说. 不同的应用有不同的理解,这是一个概念的问题.  mvc系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从proces**ase类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都entitybase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。这样可以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。  mvc(模型model-视图view-**controller)是一种设计模式,我们可以用它来创建在域对象和ui表示层对象之间的区分。 同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。 在三层架构中没有定义controller的概念。这是我认为最不同的地方。而mvc也没有把业务的逻辑访问看成两个层,这是采用三层架构或mvc搭建程序最主要的区别。当然了。在三层中也提到了model,但是三层架构中model的概念与mvc中model的概念是不一样的,“三层”中典型的model层是以实体类构成的,而mvc里,则是由业务逻辑与访问数据组成的。  在asp net中的mvc架构编写的,具有极其良好的可扩展性。它可以轻松实现以下功能: ①实现一个模型的多个视图;②采用多个**;③当模型改变时,所有视图将自动刷新;④所有的**将相互独立工作。这就是mvc架构的好处,只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率。下面讨论如何实现一个模型、两个视图和一个**的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好处。对于**中的类,只需要增加另一个视图,并与模型发生关联即可。该模式下视图、**、模型三者之间的示意图如图2所示。同样也可以实现其它形式的mvc例如:一个模型、两个视图和两个**。从上面可以看出,通过mvc架构实现的应用程序具有极其良好的可扩展性,是asp net面向对象编程的未来方向。  mvc的不足体现在以下几个方面:(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循mvc,使模型、视图与**分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与**间的过于紧密的连接。视图与**是相互分离,但确实联系紧密的部件,视图没有**的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。(4)目前,一般高级的界面工具或构造器不支持mvc架构。改造这些工具以适应mvc需要和建立分离的部件的代价是很高的,从而造成使用mvc的困难。  三层架构是将代码按其作用分成三部分,每部分解决自己负责的流程. 三层架构的功用之处,在于驾驭大型web程序的结构,使之便于管理和扩展.  在设计ui的时候,我们不需要关心其中的逻辑和数据问题,只需要空出对应的位置,用于放置数据. 在设计和修改的时候,要解决的只是html的结构,代码看起来干净利落,做起来也是干净利落.  ui直接将程序逻辑的任务丢给bll,bll就开始构建具体的实现细节.bll的创建依赖于业务. 例如一个文章系统,bll_aticle就表示它是用于对文章的处理的.bll_aticle可以提供给ui一个文章列表的recordset,显示在ui的预留位置. 当bll_aticle需要从数据库中获取数据的时候,就将任务丢给dal层  dal层专门负责和数据库打交道,它从bll获取参数,组织一个有效的sql,建立数据库连接,执行sql进行更新或获取,将返回的数据交给bll.  每一部分的业务都集中于一个ui-bll-dal的链中,上下清晰了然. 至于是怎样的便于管理和扩展,将在后面结合实例进行分析.  复杂的生命形式必有复杂的生存法则,若想在自己的项目中应用好三层架构,需要多用点心体会其中的应用法则.  我对三层架构的理解还不够深,这些文章能算是抛砖引玉就不错了.大家在阅读当中不要局限于我所构思的法则,要多向具体的应用中去实践,根据具体情况,寻出自己的法则. 有所感悟,就记得写下来,这种感悟是进步的契机,但必然不是最终的结果.有了感悟就拿去应用,可以发现它的优劣,继续完善  三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。  三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的cpu就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。  三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级cpu有效。  三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。 20210311
汇率兑换计算器

类似问答
  • 王茅、华茅和赖茅之间的关系?
    • 2024-05-16 05:14:03
    • 提问者: 未知
    总结:没有成义烧坊、荣和烧坊和恒兴酒厂就没有现在的贵州茅台,所以王茅、华茅和赖茅是贵州茅台酒的老祖宗!市场上以“成义烧坊”、“荣和烧坊”、“衡昌烧坊”、“王茅”...
  • 构成建筑的三要素是什么?如何正确处理三者之间的关系?
    • 2024-05-16 10:28:04
    • 提问者: 未知
    建筑功能、物质技术条件、建筑形象。 建筑构成三要素之间是辩证统一的关系,不能分割,但又有主次之分。第一是功能,是起主导作用的因素;第二是物质技术条件,是达到目的的手段,但是技术对功能又有约束和促进的作用;第三是建筑形象,是功能和技术的反映,如何充分发挥设计者的主观作用,在一定功能和技术条件下,可以把建筑设计得更加美观
  • 三层花架价格便宜吗
    • 2024-05-16 03:48:24
    • 提问者: 未知
    聚鑫莱特价欧式铁艺花架落地式室内阳台花架三层阶梯花架绿萝花架 ¥ 85.00-298.00 是否组装:组装 颜色分类:3层长92白色+支撑杆送小铲子 2层长92古铜+送小铲子 ...
  • 城市轨道交通中afc系统架构有几层?
    • 2024-05-16 19:45:40
    • 提问者: 未知
    轨道交通afc系统共分为车票、车站终备、车站计系统、线路中央计算机系统分系统五个层次。1、第一层———车票,乘客所持有的车费支付媒介;2、第二层 ——车站终端设备安装在各车站的站厅,直接为乘客提供售检票服务的设备,规定了车站终端设备及其运营管理的技术要求;3、第三层———车站计算机系统,其主要功能是对第二层车站终端设备进行状态监控、以及收集本站产生的交易和审计数据,规定了系统的数据管理、运营管理及...
  • 5层网络安全体系是什么,各层有什么意义
    • 2024-05-16 00:47:22
    • 提问者: 未知
    网络防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态。 目前的防火墙产品主要有堡垒主机、**滤路由器、应用层**(代理服务器)以及电路层**、屏蔽主机防火墙、双宿主机等...
  • 中产阶层为什么依赖房子?
    • 2024-05-16 05:52:49
    • 提问者: 未知
    房产是**居民财富的主要承载。据甘犁主持chfs(**家庭金融调查)的调研数据显示,2015年,中产阶层的财富在房产上的配置比例高达79.5%,而金融资产仅有10.8%。对比2002年李实主持的chips调研数据,房产价值****庭财富的比重还是上升的。这些最终呈现为**畸高的住房拥有率,chfs显示...
  • 如何摆正董事会与经理层之间的关系
    • 2024-05-16 22:46:11
    • 提问者: 未知
    很多国有企业改制后,虽然建立了相应的法人治理结构,但通常将董事长与总经理合二为一,由一人担任。在这种模式下,董事会与经理层高度重合,虽然在一定程度上降低了沟通成本,也将所有者与经营层的矛盾暂时掩盖在“高效、和谐”的表象之下,但同时二者之间的协助和制衡作用也没有得到充分的发挥,经理层逐渐被边缘化。 随着企业管理的逐步完善与发展,越来越多的企业开始考虑将董事长与总经理分设,进一步明确董事会与经理层之间...
  • 社会信用体系构建的顶层设计是什么?
    • 2024-05-16 11:28:52
    • 提问者: 未知
    社会信用体系构建的顶层设计是什么?信用很重要,始终伴随着我们,如影随形。“人无信不立、业无信不兴、国无信不强。信用一直为大家看重,发展经济,投资理财,都:-顶层,信用,构建,体系
  • 物联网的体系结构有几个层次?分别是什么?
    • 2024-05-16 00:31:25
    • 提问者: 未知
    所以物联网的体系结构可分为: 感知层、网络层和应用层三大层次。1、感知层: 感知层是物联网的底层,但它是实现物联网全面感知的核心能力,主要解决生物世界和物理世界的数据获取和连接问题。2、网络层: 广泛覆盖的移动通信网络是实现物联网的基础设施,网络层主要解决感知层所获得的长距离...
  • 石炭系各个地层含义
    • 2024-05-16 01:09:45
    • 提问者: 未知
    石炭系各个地层含义在西欧多为二分。在**及俄罗斯曾为三分,分为下、中、上三个统,当前随国际上统一二分。在**,全国地层委员会2001年将下石炭统(曾称丰宁统)自下而上分为岩关阶、大塘阶和德坞阶;上石炭统(曾称壶天统)自下而上分为罗苏阶、滑石板阶
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。