`

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

阅读更多

 

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

 

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

 

大概分为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(一站式) 轻量级开源框架。

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

    资源层从物理资源到虚拟化逻辑资源,从虚拟机到现在更加轻量的容器资源。平台层原来只谈技术平台,但是当前又进一步拆分出业务平台,也可以理解成当前说得比较多的中台层。在平台层和应用层之间增加了服务层,实现...

    一种轻量级嵌入式GUI设计与源代码

    本文将详细介绍一种轻量级嵌入式GUI的设计理念、实现方法,并提供相关源代码供参考。 一、设计原理 轻量级嵌入式GUI的设计通常要考虑以下关键点: 1. **资源优化**:由于嵌入式系统的硬件资源有限,如内存、CPU...

    架构设计之分层架构.pdf

    分层架构是软件架构设计中的一种经典模式,其核心思想是将系统划分为多个独立的层级,每个层级专注于特定的任务,以实现关注点分离、降低耦合度和提高可维护性。这种架构模式广泛应用于各种规模和类型的软件开发中。...

    iOS分层架构设计

    分层架构能够清晰地划分软件的功能和职责,让不同的开发人员可以并行工作而不互相干扰,最终帮助开发者构建出低耦合且容易测试的企业级系统。 分层架构的核心思想是将应用拆分成独立的层次,每一层有明确的职责,...

    一种轻量级、易于修改、可分层训练的神经网络-轻量级贪婪分层训练神经网络_stackednet.zip

    一种轻量级、易于修改、可分层训练的神经网络-轻量级贪婪分层训练神经网络_stackednet

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

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

    NET企业级应用架构设计(2nd)

    本书可能会涵盖常见的架构模式,如分层架构(数据访问层、业务逻辑层、表示层)、微服务架构、事件驱动架构等,并分析各种架构的优缺点及其适用场景。 在.NET框架下,C#语言是主要的编程工具,它的特性如面向对象...

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

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

    系统架构设计师教程_第5章_软件架构设计

    2. **微服务架构**:将一个大型应用程序分解为一组小的、独立的服务,每个服务运行在自己的进程中,服务之间通过轻量级通信机制进行交互。 3. **事件驱动架构**:基于事件的处理模型,组件通过发布和订阅事件来通信...

    系统架构设计师教程 软考高级

    在软件设计阶段,系统架构设计师需要关注模块化、分层设计、服务化等技术,以实现系统的可重用性和可维护性。此外,对于分布式系统,教程会讲解网络通信、负载均衡、故障恢复等关键技术。对于数据存储,可能涉及...

    华为企业数据架构、应用架构及技术架构设计方法.pptx

    华为企业数据架构、应用架构及技术架构设计方法是企业架构设计的核心组件之一。企业数据架构旨在整合企业内的数据资源,提高数据的Accuracy、Completeness和Integrity,确保数据的一致性和可靠性。应用架构则是为了...

    软件平台架构设计与技术管理之道.docx

    "软件平台架构设计与技术管理之道" 本文总结了软件平台架构设计与技术管理之道的重要性、架构设计要点、架构设计目标与原则、技术管理的关键作用等知识点。 一、软件平台架构设计的重要性 软件平台架构设计是指...

    系统架构与分层

    系统架构与分层设计在软件开发中扮演着至关重要的角色,尤其在Java开发环境中。一个良好的架构设计能够确保系统的稳定性、扩展性、柔韧性和有效性。本文主要探讨了系统架构的基本概念、分层设计以及面向服务的架构...

    系统架构设计师教程.pdf

    - **微服务架构**:将单一应用程序开发为一组小型服务,每个服务运行在其自己的进程中,并与轻量级机制(通常是HTTP资源API)进行通信。 - **事件驱动架构(EDA)**:一种分布式软件架构模式,其中组件响应系统内...

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

    首先,分层架构是企业级应用中常见的设计模式,它将系统划分为表现层、业务逻辑层、数据访问层等多个独立的组件,每个层负责不同的职责,从而提高代码的可读性和可维护性。表现层主要处理用户交互,业务逻辑层执行...

Global site tag (gtag.js) - Google Analytics