• 【新版】系统架构设计师 - 软件架构设计<轻量级架构>


    在这里插入图片描述

    个人总结,仅供参考,欢迎加好友一起讨论

    架构 - 软件架构设计<轻量级架构>

    考点摘要

    • 基本概念(★)
    • SSH(★★)
    • SSM(★★)

    轻量级架构

    表示层

    用户界面的逻辑位于最顶层。表现层负责把用户要求的业务逻辑处理结果以可视化的友好的方式返回给用户,并提供接受用户命令的接口和表现层页面控制逻辑的代码。

    业务逻辑层

    业务逻辑层负责处理问题领域的业务规则和根据用户需求进行的业务处理以满足用户的功能需求。通常情况下,业务逻辑层处理使用的实体对象由持久层提供。

    持久层

    数据通过持久层进行持久化。所谓持久化,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

    持久层的设计,使得业务逻辑层只需要负责业务逻辑的实现,而把对数据的操作交给了持久层。持久层对数据及对数据操作的封装有以下几个优点︰

    1. 屏蔽数据库平台的变化对业务逻辑层的影响。当数据库变化时,只需修改持久层操作数据库的代码,而持久层提供给业务逻辑的对象模型没有变化,从而避免了业务逻辑的修改。
    2. 通过持久层的封装处理,可以在持久层实现支持多种数据库平台,而对业务逻辑层提供统一的接口。
    3. 代码可重用性高,能够完成所有的数据库访问操作。

    通过持久层的设计,将复杂的业务逻辑和数据逻辑分离,降低系统的耦合程度,从而在开发时更明确地进行分工,维护工作也更容易进行,系统的体系结构也变得更加清晰。

    数据库

    数据存储。

    SSH与SSM

    SSH概念:

    SSH指的是Struts2(做前端控制器),Spring(管理各层的组件),Hibernate(负责持久化层)。

    SSM概念:

    SSM指的是SpringMVC(做前端控制器),Spring(管理各层的组件),Mybatis(负责持久化层)。

    所在分层SSHSSM
    页面层(View)JSPJSP
    控制器层(Controller)Struts2SpringMVC
    业务层(Service)JavaJava
    持久层(Dao)HibernateMybatis
    数据库层(DB)各种数据库各种数据库
    组件管理层(Bean)SpringSpring

    ORM

    ORM(Object Relational Mapping):对象与关系数据之间的映射。

    面向对象关系数据库
    类(Class)数据库得表(Table)
    对象(Object)记录(Record,行数据)
    对象的属性(Attribute)字段(Field)

    Hibernate与Mybatis

    HibernateMybatis
    简单对比强大,复杂,间接,SQL无关小巧,简单,直接,SQL相关
    可移植性好(不关心具体数据库)差(根据数据库SQL编写)
    复杂多表关联不支持支持
    • 开发方面:Hibernate开发中,SQL语句已经被封装,直接可以使用;Mybatis属于半自动化,SQL需要手工完成。
    • SQL优化方面:对复杂查询的SQL语句进行人工调优的时候,Mybatis更方便。
    • 可移植性方面:Hibernate使用时自动生成相应的sql语句,因此具备良好的数据库移植性,而Mybatis中手动编写的SQL语句需要针对不同厂商的数据库进行修改。
  • 相关阅读:
    比 nvm 更好用的 node 版本管理工具
    IDEA的常用设置
    Pytorch人体姿态骨架生成图像
    (免费领源码)Java#SpringBoot#mysql高校实验室资产管理系统85189-计算机毕业设计项目选题推荐
    51单片机定时炸弹-准确计时-两根线随机一根触发中断可“拆弹“(AT89C52)
    人工智能职业教育怎么搞?操作系统层级的解法来了
    Kamiya丨Kamiya艾美捷抗BCMA单抗,克隆Vicky-2说明书
    【定位问题】基于matlab chan算法无源定位【含Matlab源码 2090期】
    为什么电脑运行越来越慢?解决方法又是什么呢?
    Spring 事务执行流程及源码分析
  • 原文地址:https://blog.csdn.net/lili40342/article/details/132793667