当前位置: 首页 > news >正文

软件设计师备考笔记【day2】-UML 图解 | 面向对象 | 设计模式

目录

一,uml建模

1,基础概念

2, UML 核心图分类

3,关系

二,面向对象

1,三大核心特性

2,设计原则

三,设计模式

1,模式分类总览

2,创建型模式

3,结构型模式

4,行为型模式


一,uml建模

1,基础概念

(1)uml包括

  • 构造块
  • 规则
  • 通用关系

(2)构造块包括

  • 事务
  • 关系

(3)事务包括

  • 结构事务(静态,概念和物理元素)
  • 行为事务(时间和空间)
  • 分组事务(组织架构,文件夹)
  • 注释事务
2, UML 核心图分类
图类型所属分类核心用途关键知识点
用例图行为型描述系统功能需求,参与者与用例的交互识别参与者、用例;用例间关系(包含、扩展、泛化)的区别
类图结构型描述系统中类、接口及其关系类间关系辨析;类的属性 / 方法可见性
时序图(序列图)行为型描述对象间的交互时序,按时间顺序排列消息消息类型(同步 / 异步 / 返回);对象生命线、激活期;循环 / 分支表示
活动图行为型描述业务流程、算法逻辑、控制流起始 / 终止节点、分支节点、合并节点、泳道(划分职责)
状态图行为型描述对象的生命周期,状态间的转换初态 / 终态、状态转换条件、事件驱动转换;区分状态图与活动图
3,关系

参与者之间的关系:泛化关系

参与者和用例之间:关联关系

用例之间:包含,扩展,泛化

关系类型核心含义图示典型场景
依赖临时的、弱的使用关系----------->(虚线 + 箭头)A 类的方法使用了 B 类对象作为参数
关联长期的、稳定的引用关系————>(实线 + 箭头)学生与课程;员工与部门
聚合整体 - 部分关系,部分可脱离整体存在◇————(空心菱形实线,菱形在整体)汽车和轮胎,班级和学生
组合整体 - 部分关系,部分不能脱离整体存在◆————(实心菱形实线,菱形在整体)人体和心脏,树和树叶
泛化继承关系,子类继承父类————△(实线 + 空心三角,指向父类)猫 / 狗继承动物类
实现类实现接口,接口定义方法,类完成具体逻辑------------△(虚线 + 空心三角,指向接口)实现 Runnable 接口、实现自定义接口

二,面向对象

1,三大核心特性

封装,继承,多肽

2,设计原则
原则名称核心思想目标
单一职责 (SRP)一个类只负责一项职责降低类的复杂度,提高可读性和可维护性
开闭原则 (OCP)对扩展开放,对修改关闭提高系统的可扩展性和灵活性
里氏替换 (LSP)子类可以替换父类确保继承关系的正确性,增强程序的健壮性
接口隔离 (ISP)使用多个专用接口降低系统耦合,提高内聚性
依赖倒置 (DIP)依赖抽象,不依赖具体降低模块间耦合,提高系统稳定性
合成复用 (CRP)优先组合,其次继承降低耦合,更灵活地复用代码
迪米特法则 (LOD)最少知道,最少依赖降低类之间的耦合度

所有设计原则最终目标:提高内聚、降低耦合,符合开闭原则

三,设计模式

1,模式分类总览
  • 创建型模式:解决对象创建问题,隐藏创建细节,提高灵活性。
  • 结构型模式:解决类 / 对象的组合问题,通过组合实现新功能。
  • 行为型模式:解决对象间的交互与职责分配问题。
2,创建型模式
模式核心思想关键考点 & 应用场景
单例模式保证一个类仅有一个实例,并提供全局访问点应用场景:配置类、连接池、日志类;实现方式:饿汉式(线程安全)、懒汉式(需双重检查锁)
工厂方法模式定义创建对象的接口,让子类决定实例化哪个类核心:一个工厂对应一个产品;解决简单工厂的 “开闭原则” 问题
抽象工厂模式提供创建一系列相关 / 依赖对象的接口核心:一个工厂对应一组产品族;适合多系列产品的场景(如不同操作系统的按钮 / 文本框)
简单工厂(非标准模式)由一个工厂类根据参数创建不同产品对象软考常考辨析,违反开闭原则,适合产品少且稳定的场景
3,结构型模式
模式核心思想关键考点 & 应用场景
适配器模式将一个类的接口转换成客户期望的另一个接口,解决接口不兼容问题分为类适配器(继承)和对象适配器(组合);应用场景:旧系统与新接口的兼容、第三方库适配
装饰器模式动态给对象添加额外职责,比继承更灵活核心:装饰器与被装饰者实现同一接口,包含被装饰者对象;应用场景:IO 流、动态添加功能(如日志、权限)
代理模式为其他对象提供一个代理,控制对该对象的访问分为静态代理、动态代理;应用场景:远程代理(RPC)、虚拟代理(图片加载)、保护代理(权限控制)
桥接模式将抽象与实现分离,使两者可以独立变化核心:组合代替继承,解决多维度变化的类爆炸问题;应用场景:不同品牌 + 不同类型的设备(如不同品牌的手机 + 不同系统)
4,行为型模式
模式核心思想关键考点 & 应用场景
观察者模式定义对象间的一对多依赖,当一个对象状态改变时,所有依赖它的对象都会收到通知并自动更新核心:主题(被观察者)和观察者的分离;应用场景:事件通知系统、消息订阅(如消息队列、UI 事件监听)
策略模式定义一系列算法,将每个算法封装成独立类,使它们可以互相替换核心:将算法与使用算法的客户端分离;应用场景:支付方式选择、排序算法切换、折扣策略
模板方法模式定义一个算法的骨架,将部分步骤延迟到子类实现核心:父类定义算法流程,子类实现具体步骤;应用场景:框架中的流程定义(如 Spring 的模板方法)、固定流程的业务逻辑
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类核心:将状态与行为封装到状态类中,避免大量 if-else 判断;应用场景:订单状态流转、游戏角色状态切换
http://www.jsqmd.com/news/695081/

相关文章:

  • 深度学习中的Batch与Epoch:概念解析与实战技巧
  • 《AI大模型应用开发实战从入门到精通共60篇》003 开发环境搭建:Python、CUDA、PyTorch与Hugging Face全家桶安装指南
  • 电商效率翻倍:用 Open Claw 对接小红书视频详情接口,一键抓取商品全量信息
  • 隔空取“快递文件”?快递式文件分享,我在NAS部署一个文件柜
  • Linux 系统管理笔记
  • 搞定Android 10/11系统定制:解锁OEM、修改运营商显示、隐藏HotSeat的实操记录
  • VMD滚动分解+BiLSTM多变量时序预测,防信息泄露,MATLAB代码
  • mermaid初体验
  • 放弃数据分析转Java开发:一个双非硕士的岗位选择与避坑思考
  • Office Custom UI Editor:重新定义你的Office工作界面,效率提升50%不是梦!
  • 如何在PUBG中实现完美压枪?罗技鼠标宏终极教程指南
  • 甜品店亏损怎么自救?从赔钱到赚钱的3个狠招-佛山鼎策创局破局增长咨询
  • Human IgE一步法ELISA试剂盒如何拓展临床应用边界?
  • 5分钟搞定TouchDesigner实时人体姿态追踪:MediaPipe插件终极指南
  • 从零搭建GEO接口服务(附完整源码)| 新手友好,实操无坑
  • 《AI大模型应用开发实战从入门到精通共60篇》004、Hugging Face入门:模型库、数据集与Tokenizers快速上手
  • 基于微信小程序的茶馆连锁(预约+茶叶茶具商城)系统小程序设计与实现
  • 别再为破洞和缝隙头疼了!用CGAL的Stitch功能一键缝合网格边界
  • 理解Hive
  • 别再只画PCA了!用mixOmics给你的多组学文章加点高级可视化(网络图、双标图、热图一键生成)
  • 为什么你的 Reels 越做越没人看?Instagram 算法正在惩罚这类内容 - SocialEcho社媒管理
  • 3分钟让你的Mac变身专业KTV:LyricsX桌面歌词体验指南
  • 【国家药监局UDI校验强制新规倒计时】:VSCode实时校验模板已开源,错过将影响三类器械注册申报
  • 为什么你的Windows效率工具还在说英文?PowerToys-CN汉化项目深度解析
  • Qt右键菜单不弹?别急,先检查这个属性(setContextMenuPolicy详解)
  • Cadence IC617与Calibre 2019在Ubuntu 20.04上的避坑安装与集成指南
  • 【Linux系统】Shell命令运行及其原理
  • 建行广东江门分行:数字人民币场景应用引领校园金融数字化新风尚
  • DAN-F10N-00B,标准精度双频GNSS天线模块,实现城市环境米级精准定位与简易集成
  • 别再写SFINAE了!C++26反射驱动的零成本抽象重构:4类高频元编程模式迁移路径+编译时间压缩至1/5实录