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

在这里插入图片描述

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

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

考点摘要

  • 基本概念(★)
  • 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语句需要针对不同厂商的数据库进行修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值