介绍一下手头一个系统的软件结构,先附上图:
大概分为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
分享到:
- 2009-08-05 04:49
- 浏览 1922
- 评论(0)
- 论坛回复 / 浏览 (0 / 1835)
- 查看更多
相关推荐
架构设计之分层说明
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。...简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
资源层从物理资源到虚拟化逻辑资源,从虚拟机到现在更加轻量的容器资源。平台层原来只谈技术平台,但是当前又进一步拆分出业务平台,也可以理解成当前说得比较多的中台层。在平台层和应用层之间增加了服务层,实现...
本文将详细介绍一种轻量级嵌入式GUI的设计理念、实现方法,并提供相关源代码供参考。 一、设计原理 轻量级嵌入式GUI的设计通常要考虑以下关键点: 1. **资源优化**:由于嵌入式系统的硬件资源有限,如内存、CPU...
分层架构是软件架构设计中的一种经典模式,其核心思想是将系统划分为多个独立的层级,每个层级专注于特定的任务,以实现关注点分离、降低耦合度和提高可维护性。这种架构模式广泛应用于各种规模和类型的软件开发中。...
分层架构能够清晰地划分软件的功能和职责,让不同的开发人员可以并行工作而不互相干扰,最终帮助开发者构建出低耦合且容易测试的企业级系统。 分层架构的核心思想是将应用拆分成独立的层次,每一层有明确的职责,...
一种轻量级、易于修改、可分层训练的神经网络-轻量级贪婪分层训练神经网络_stackednet
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢? 在研究分层架构时,常通过...
本书可能会涵盖常见的架构模式,如分层架构(数据访问层、业务逻辑层、表示层)、微服务架构、事件驱动架构等,并分析各种架构的优缺点及其适用场景。 在.NET框架下,C#语言是主要的编程工具,它的特性如面向对象...
1、平台架构图,分层展示架构图:从访问层、前端UI、web层、业务层、数据存储等层次展示系统架构,设置权限控制与日志记录; 2、提供pdf版本和可线上编辑文件,若需要编辑,可根据readme操作,操作简单 3、压缩包中...
2. **微服务架构**:将一个大型应用程序分解为一组小的、独立的服务,每个服务运行在自己的进程中,服务之间通过轻量级通信机制进行交互。 3. **事件驱动架构**:基于事件的处理模型,组件通过发布和订阅事件来通信...
在软件设计阶段,系统架构设计师需要关注模块化、分层设计、服务化等技术,以实现系统的可重用性和可维护性。此外,对于分布式系统,教程会讲解网络通信、负载均衡、故障恢复等关键技术。对于数据存储,可能涉及...
华为企业数据架构、应用架构及技术架构设计方法是企业架构设计的核心组件之一。企业数据架构旨在整合企业内的数据资源,提高数据的Accuracy、Completeness和Integrity,确保数据的一致性和可靠性。应用架构则是为了...
"软件平台架构设计与技术管理之道" 本文总结了软件平台架构设计与技术管理之道的重要性、架构设计要点、架构设计目标与原则、技术管理的关键作用等知识点。 一、软件平台架构设计的重要性 软件平台架构设计是指...
系统架构与分层设计在软件开发中扮演着至关重要的角色,尤其在Java开发环境中。一个良好的架构设计能够确保系统的稳定性、扩展性、柔韧性和有效性。本文主要探讨了系统架构的基本概念、分层设计以及面向服务的架构...
- **微服务架构**:将单一应用程序开发为一组小型服务,每个服务运行在其自己的进程中,并与轻量级机制(通常是HTTP资源API)进行通信。 - **事件驱动架构(EDA)**:一种分布式软件架构模式,其中组件响应系统内...
首先,分层架构是企业级应用中常见的设计模式,它将系统划分为表现层、业务逻辑层、数据访问层等多个独立的组件,每个层负责不同的职责,从而提高代码的可读性和可维护性。表现层主要处理用户交互,业务逻辑层执行...