系统架构图设计(轻量级架构)

轻量级架构一般包括:表现层、业务逻辑层、持久层、数据库层

表现层架构

MVC
  • 模型(Model):应用程序的主体部分,表示业务数据和业务逻辑
  • 视图(View):用户看到并与之交流的界面
  • 控制器(Controller):接受用户的输入,并调用模型和视图去完成用户的需求
MVP
  • 模型(Model):提供数据
  • 视图(View):展示数据
  • 呈现器(Presenter):逻辑处理
  • MVP 避免了View 和 Model 之间的耦合,还进一步降低了 Presenter 对 View 的依赖。
MVVM
  • 视图(View):展示数据
  • 模型(Model):提供数据
  • 视图模型(ViewModel):ViewModel 是MVVM 的核心,通过DataBinding 实现View 与Model 之间的双向绑定,其内容包括数据状态处理、数据绑定及数据转换

业务逻辑层架构

  • DomainModel: 领域模型是业务逻辑的核心,它代表了业务领域的概念、规则和约束;
    • 简单性:模型尽量简单,避免过度设计,只包含必要的属性和方法。
    • 内聚性:模型应该高度内聚,每个领域对象都应该代表一个清晰的业务概念。
    • 无状态性:领域模型通常是无状态的,不保存会话信息,以方便水平扩展。
  • Service: 服务层是业务逻辑的实现层,它负责将领域模型暴露的功能组织起来,供控制层调用
    • 接口化:服务层通过接口定义操作,使得实现可以在不影响客户端的情况下进行替换或升级。
    • 事务管理:服务层通常负责事务的开始、提交和回滚,确保业务操作的原子性。
    • 轻量级依赖:服务层之间的依赖应该是轻量级的,避免复杂的依赖关系。
  • Control: 控制层负责处理外部请求,将请求映射到相应的服务层处理,并返回响应
    • 薄控制层:控制层不包含业务逻辑,只负责请求转发和数据格式转换。
    • RESTful API:在Web应用中,控制层通常以RESTful API的形式提供接口。
    • 路由:控制层负责将不同的请求路由到正确的服务处理。

持久层架构

轻量级架构的持久层主要关注于数据的持久化,它通常指的是应用中的数据访问层,负责将业务数据保存到数据库中,并在需要时从数据库中检索数据。持久层采用DAL工厂模式来匹配不同DBMS厂家的IDAL实现接口,它使得系统可以灵活地接入不同的数据源。

持久层常用技术

  • ORM(对象关系映射) :这种方式利用工具或平台能够帮助将应用程序中的数据转换成关系型数据库中的记录;或是将关系数据库中的记录转换成应用程序中代码便于操作的对象。
    • Hibernate:全自动化ORM 框架,它对JDBC进行了封装,简化了数据库操作。
    • MyBatis:半自动化ORM 框架,它提供了更细粒度的控制,允许开发者直接编写SQL语句。
  • JPA(Java Persistence API):Java持久化API,定义了一系列规范,用于对象持久化的标准化。
  • 数据访问对象(DAO)模式:通过DAO抽象数据访问逻辑,为业务逻辑层提供数据操作的接口。
  • 仓储模式(Repository):类似于DAO,但更强调集合操作,是领域驱动设计中的一个概念。
  • 数据库连接池:数据库连接池是一种用于提高数据库操作性能和资源管理的技术。在传统的数据库访问模式中,每次用户请求都需要创建一个新的数据库连接,使用完毕后再关闭连接。这种模式在高并发环境下会导致大量的连接创建和销毁,从而降低系统的性能。数据库连接池通过重用已经创建的连接来解决这个问题。
相关推荐
@insist1233 小时前
系统架构设计师-实时性评价、调度算法与内核架构选型
算法·架构·系统架构·软考·系统架构设计师·软件水平考试
一切皆是因缘际会4 小时前
存算一体芯片软件双模式:单字符驱动网络(普通CPU也能跑)
人工智能·物联网·ai·系统架构·架构设计·发布订阅·存算一体
咕咚.萌西17 小时前
ARMv8-A 体系架构
系统架构·arm64
Survivor00118 小时前
分布式事务解决方案Seata源码分析
分布式·系统架构
tedcloud1231 天前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
ysn111112 天前
红点框架系统设计
系统架构·c#
开开心心就好2 天前
解决截图被拦截黑屏问题的免费小工具
安全·智能手机·flink·kafka·pdf·音视频·1024程序员节
@insist1232 天前
系统架构设计师-嵌入式系统核心概念与关键机制
架构·系统架构·软考·系统架构设计师·软件水平考试
GISer_Jing2 天前
常见CI/CD选型与实现
系统架构
@insist1232 天前
系统架构设计师-嵌入式处理器核心知识体系:从分类到架构选型全解析
架构·分类·系统架构·软考·系统架构设计师·软件水平考试