《分析工厂模式三层架构的认识和分析》

上传人:tang****xu2 文档编号:164133858 上传时间:2021-01-26 格式:DOCX 页数:7 大小:33.76KB
返回 下载 相关 举报
《分析工厂模式三层架构的认识和分析》_第1页
第1页 / 共7页
《分析工厂模式三层架构的认识和分析》_第2页
第2页 / 共7页
《分析工厂模式三层架构的认识和分析》_第3页
第3页 / 共7页
《分析工厂模式三层架构的认识和分析》_第4页
第4页 / 共7页
《分析工厂模式三层架构的认识和分析》_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《《分析工厂模式三层架构的认识和分析》》由会员分享,可在线阅读,更多相关《《分析工厂模式三层架构的认识和分析》(7页珍藏版)》请在金锄头文库上搜索。

1、分析工厂模式三层架构的认识和分析我们所认识的三层架构,其实就是将整个业务应用划分为表 示层、业务逻辑层、数据访问层。三层体系结构,是在客户端与数据库之间加入了一个中间层”,也叫组件层。这里所说的三层体系, 不是指物理上的 三层,不是简单地放置三台机器就是三层体系结构,也不仅 仅有B/S应用才是三层体系结构,三层是指逻辑上的三层, 即使这三个层放置到一台机器上。普通三层:数据访问层 DAL :用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。业务逻辑层BLL :业务逻辑层承上启下,用于对上下交互的数 据进行逻辑处理,实现业务目标。表示层UI:主要实现和用户的交互,接收用户请

2、求或返回用户请求的数据结果的展 现,而具体的数据处理则交给业务逻辑层和数据访问层去处 理。业务实体Model :用于封装实体类数据结构,一般用于 映射数据库的数据表或视图,用以描述业务中客观存在的对 象。Model分离出来是为了更好地解耦,为了更好地发挥分 层的作用,更好地进行复用和扩展,增强灵活性。通用类库Common :通用的辅助工具类。三层架构 三层架构(3-tier application)通常意义上的三层架构就是将整个业务应用划分为:表现层( UI)、业务逻 辑层(BLL)、数据访问层(DAL)。区分层次的目的即为 了高内聚,低耦合的思想。1、表现层(UI):通俗讲就是展现给用户的界

3、面,即 用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可 以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据 库,针对数据的增、删、改、查。在软件体系架构设计中,分层式结构是最常见,也是最 重要的一种结构。微软推荐的分层式结构一般分为三层,从 下至上分别为:数据访问层、业务逻辑层(乂或成为领域层) 表小层。三层结构原理3个层次中,系统主要功能和业务逻辑都在业务逻辑层 进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一 个”中间层”,也叫组件层。这里所说的三层体系,不是指物 理上的三层,不是简单地放置三台机

4、器就是三层体系结构, 也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的 三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校 验等工作放到了中间层进行处理。通常情况下,客户端不直 接与数据库进行交互, 而是通过COM/DCOM 通讯与中间层 建立连接,再经由中间层与数据库进行交互。表小层位于最外层(最上层),离用户最近。用于显示数据和 接收用户输入的数据,为用户提供一种交互式操作的界面。 业务逻辑层业务逻辑层(Business Logic Layer )无疑是系统架构 中体现核心价值的部分。它的关注点主要集中在业务规则的 制定、业务流程的实现等与业务需求有

5、关的系统设计,也即 是说它是与系统所应对的领域(Domain )逻辑有关,很多时候,也将业务逻辑层称为领域层。业务逻辑层在体系架构中的位置很关键,它处于数据访 问层与表示层中间,起到了数据交换中承上启下的作用。由 于层是一种弱耦合结构,层与层之间的依赖是向下的,底层 对于上层而言是无知的,改变上层的设计对于其调用的底 层而言没有任何影响。如果在分层设计时,遵循了面向接口 设计的思想,那么这种向下的依赖也应该是一种弱依赖关 系。因而在不改变接口定义的前提下,理想的分层式架构, 应该是一个支持可抽取、可替换的 抽屉”式架构。正因为如 此,业务逻辑层的设计对于一个支持可扩展的架构尤为关 键,因为它扮

6、演了两个不同的角色。对于数据访问层而言, 它是调用者;对于表示层而言,它却是被调用者。依赖与被 依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解 耦,则是除了实现业务逻辑之外留给设计师的任务。数据层数据访问层:有时候也称为是持久层,其功能主要是负 责数据库的访问,可以访问数据库系统、二进制文件、文本 文档或是XML文档。简单的说法就是实现对数据表的Select , Insert ,Update , Delete的操作。如果要加入 ORM的元素,那么就 会包括对象和数据表之间的mapping ,以及对象实体的持久化。优点: 欢迎访问 http:/1、开发人员可以只关注整个结构中的其中某一层;

7、2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。缺点:1、降低了系统的性能。这是不言而喻的。如果不采用 分层式结构,很多业务可以直接造访数据库,以此获取相应 的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上 而下的方向。如果在表示层中需要增加一个功能,为保证其 设计符合分层式结构,可能需要在相应的业务逻辑层和数据 访问层中都增加相应的代码。工厂模式欢迎访问 http:/简单工厂模式乂称为静态工厂方法(Static FactoryMethod )模式,属于类的创建型模式,通常根据一个条件(

8、参 数)来返回不同的类的实例。工厂角色(Creator):是简单工厂模式的核心,它负责 实现创建所有具体产品类的实例。工厂类可以被外界直接调 用,创建所需的产品对象。抽象产品角色(Product ):是所有具体产品角色的父类, 它负责描述所有实例所共有的公共接口。具体产品角色(Concrete Product ):继承自抽象产品 角色,一般为多个,是简单工厂模式的创建目标。工厂类返 回的都是该角色的某一具体产品。通常情况下,客户端不直接与数据库进行交互,而是通 过COM/DCOM 通讯与中间层建立连接,再经由中间层与数据库进行交换。完善的三层结构的要求是:修改表现层而不用修改逻辑 层,修改逻辑

9、层而不用修改数据层,否则你的应用是不是多 层结构,或者说是层结构的划分和组织上是不是有问题就很 难说。不同的应用有不同的理解,这是一个概念的问题。三层架构是将代码按其作用分成三部分,每部分解决自 己负责的流程。在设计UI的时候,我们不需要关心其中的逻辑和数据问题,只需要空出对应的位置,用于放置数 据。在设计和修改的时候,要解决的只是HTML的结构,代码看起来干净利落,做起来也是干净利落。UI直接将程序逻辑的任务丢给BLL , BLL就开始构建具体的实现细节。BLL的创建依赖于业务。例如一个文章系统,BLL_Aticle 就表示它是用于对文章的处理的。BLL_Aticle可以提供给UI 一个文章

10、列表的recordset ,显示在UI的预留 位置。当BLL_Aticle需要从数据库中获取数据的时候,就将任务丢给DAL层。DAL层专门负责和数据库打交道,它从 BLL获取参数, 组织一个有效的SQL,建立数据库连接,执行 SQL进行更 新或获取,将返回的数据交给 BLL。每一部分的业务都集中于一个UI-BLL-DAL的链中,上下清晰了然。至于是怎样的便于管理和扩展,将在后面结 合实例进行分析。复杂的生命形式必有复杂的生存法则,若想在自己的项 目中应用好三层架构,需要多用点心体会其中的应用法则。三层结构适合群体开发,每人可以有不同的分工,协同 工作使效率倍增。开发双层或单层应用时,每个开发人员都 应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的 CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层 来访问数据层,减少了入口点,把很多危险的系统功能都屏

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号