`

轻量级架构设计之分层的魅力

阅读更多

 

     介绍一下手头一个系统的软件结构,先附上图:

 

轻量级架构设计之分层的魅力--图片

 

大概分为5层:

 

视图层:
     作用:系统和用户进行交互,分离出来,是因为系统修改了界面无需修改业务,甚至于

可以把改写为wap在手机浏览器进行操作。
     组成部分:web组件、struts标签等

应用层:

      作用:对业务的复杂性进行了封装,视图层的调用者无需知道业务逻辑的具体细节,它仅仅知道使用就可以了,作为系统的协调者,接受数据,对数据进行的操作,操作之后所要到达的视图。

      组成部分:控制器、pojp facade(看下方注解)

领域层:

      作用:业务逻辑层,在这里实现所有的业务逻辑,以及建模中抽象出来的模型,严格的话可以再用聚合的思路抽象出一些业务逻辑的协调者(比如:转账的时候,调用了减去余额和专家余额2个类,那就可以抽象出一个协调类,负责一起调用这2个类)

      组成部分:业务逻辑、模型、业务逻辑协调者(业务 facade)

持久层:

      作用:就是把模型、实体等的对象持久化到硬盘

      组成部分:hibernate、DAO等

公共基础层:

      作用:系统中可以作为基础功能的一些集合

      组成:一些可以被大家所公用的而且可以重复利用的组件(如上传下载等)

总结:

      这里的“公共基础层”其实不算是一层,它只是一个特殊的包,专门为上层提供一些比如上传下载、邮件收发等共有组件使用的封装。

 

注解:

POJO FACADE:

引自《POJOs IN ACTION》中的解析,比如:现在汽车是件复杂的机器。它包含

各种机械部件,如:气缸、轮胎等,也许还提供和有足以把飞船送上月球的接受能力,不过对

于用户来说,大部分复杂性都不可见,要开动汽车,我们只需和车钥匙、方向盘、脚刹和变速

档打交道。这些简单的控制装置封装了汽车内部的复杂性。同样,对于业务逻辑的客户表示层

(和控制器)来说,我们也需要隐藏业务逻辑的复杂性。POJO façade在这里其实就是领域模

型的使用者。因为领域模型最好是用POJO方式编码(即不依赖于特定的框架,如Spring、EJB

,这是业务逻辑编码的准则)。

 

  • 大小: 45.2 KB
分享到:
评论

相关推荐

    架构设计之分层说明

    架构设计之分层说明

    精通Spring:java轻量级架构开发实践

    Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。...简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

    架构设计之分层架构.pdf

    架构设计之分层架构.pdf

    软件架构设计分层模型和构图思考.docx

    软件架构设计分层模型和构图思考.docx

    轻量级J2EE企业应用实战(第3版)

    《轻量级java ee企业应用实战(第3版)—struts 2+spring 3+hibernate整合开发》 第1章 java ee应用和开发环境 1 1.1 java ee应用概述 2 1.1.1 java ee应用的分层模型 2 1.1.2 java ee应用的组件 3 1.1.3 java ...

    领域驱动设计(DDD):分层架构

    在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢? 在研究分层架构时,常通过...

    .NET分层架构设计模式

    .NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构

    微软企业级架构设计

    微软企业级架构设计,分层设计,各层说明,分离关注点

    系统应用分层架构图(可线上编辑)

    1、平台架构图,分层展示架构图:从访问层、前端UI、web层、业务层、数据存储等层次展示系统架构,设置权限控制与日志记录; 2、提供pdf版本和可线上编辑文件,若需要编辑,可根据readme操作,操作简单 3、压缩包中...

    33 - 传统的可扩展架构模式:分层架构和SOA.docx

    33 - 传统的可扩展架构模式:分层架构和SOA.docx33 - 传统的可扩展架构模式:分层架构和SOA.docx33 - 传统的可扩展架构模式:分层架构和SOA.docx33 - 传统的可扩展架构模式:分层架构和SOA.docx33 - 传统的可扩展...

    iOS分层架构设计

    这是一篇关于ios架构设计的文档,个人觉得还不错,希望对你们有用

    轻量级JavaEE企业应用实战(第4版)

    资源名称:轻量级Java EE企业应用实战 (第4版)资源目录:第1章 Java EE应用和开发环境 11.1 Java EE应用概述 21.1.1 Java EE应用的分层模型 21.1.2 Java EE应用的组件 31.1.3 Java EE应用的结构和优势 41.1.4...

    Spring是一个主流的轻量级的Java Web开发框架,是分层的Java SE/EE full-stack轻量级开源框架

    Spring是一个主流的轻量级的Java Web开发框架,是分层的Java SE/EE full-stack轻量级开源框架

    轻量级Java EE企业应用实战 源码

     本书不再介绍struts 1.x相关内容,如果读者希望获取《轻量级j2ee企业应用实战》第一版中关于struts 1.x的知识,请登录http://www.crazyit.org下载。当读者阅读此书时如果遇到技术难题,也可登录...

    应用架构设计.ppt

    逻辑架构:系统分层 可扩展架构:支持的资源扩展 外部接口架构:系统外部接口支持多种交互协议 可靠性架构:异常处理机制 可维护性架构:运行时的扩展性 集成系统总体架构 集成的时机 逻辑架构集成 物理架构...

    系统架构与分层

    系统开发的架构与分层一些知识点,基于Java的一个架构设计!

    Microsoft.NET企业级应用架构设计 第二版PDF 高清

    本书主要讲.NET企业架构设计, 如分层架构、领域架构、领域驱动、领域模型、CQRS、领域事件、事件溯源、基础设施等,非常实用。

    C#实现分层架构源程序

    设计模式的本质特征是模块独立性和接口简单,因为MVC系统架构难于理解,故采用分层模型对系统进行设计,系统的特点是专门设计了一层数据库的屏蔽层,用来屏蔽数据库的差异性。

    DDD实战篇:分层架构的代码结构

    不同于其它的架构方法,领域驱动设计DDD(DomainDrivenDesign)提出了从业务设计到代码实现一致性的要求,不再对分析模型和实现模型进行区分。也就是说从代码的结构中我们可以直接理解业务的设计,命名得当的话,非...

    SOA-SSH分层架构的设计与应用word版本.docx

    SOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本....

Global site tag (gtag.js) - Google Analytics