当前位置: 首页 > 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.cnnetsun.cn/news/2074530.html

相关文章:

  • 为什么大厂都在去 Spring Cloud 化?
  • 你的笔记本为什么充不上电?从USB PD的‘Reject’和‘Wait’消息说起
  • FanControl终极配置指南:免费Windows风扇控制软件的完整中文优化方案
  • 为什么你的Windows效率工具还在说英文?PowerToys-CN汉化项目深度解析
  • 100道Python面试必背题目(基础理论 + 工程实践篇)
  • 抖音素材库构建指南:从零开始掌握高效批量下载
  • 前端-闭包
  • Office Custom UI Editor:重新定义你的Office工作界面,效率提升50%不是梦!
  • 【C++高吞吐MCP网关实战权威指南】:20年架构师亲授7类高频报错的根因定位与毫秒级修复方案
  • C++26反射特性深度解密(元编程架构跃迁白皮书):仅限首批内测开发者获取的5类高危误用场景分析
  • VSCode实时协作卡顿、光标不同步、文件同步失败(2024企业级协同开发避坑白皮书)
  • 三步搞定网络测速:用iperf3 Windows版精准测量你的网络性能
  • VCS NLP仿真入门:手把手教你用UPF文件验证低功耗设计(含Verdi调试)
  • C语言学习笔记 - 12.C语言简介 - 一元二次方程详解
  • 5个高效使用OpenProject的终极技巧:从新手到项目管理专家
  • 2026年沙市AI培训有何新亮点?
  • 你的服务器还在“负重前行”?是时候让它“弹性”起来了!
  • 上市公司-智能制造词频数据(2000-2023年)
  • 程序员蓝牙耳机选购指南:办公降噪 / 低延迟 / 长续航,实用不踩坑
  • 一课一得:公有云环境部署与网站配置全流程实战总结
  • 嵌入式开发老鸟的SecureCRT私房配置:这样调教你的终端,效率翻倍!
  • Pydantic 模型
  • UE5 动画状态机
  • 气水换热器能否满足供暖需求且实现高效余热利用?
  • 隐私计算中的同态加密:从理论到测试实践
  • 技术指南:如何通过WorkshopDL实现跨平台Steam创意工坊模组下载
  • 避坑指南:在KV260上用Vitis AI 2.5.0量化部署YOLOv5,为什么3.0.0版本会失败?
  • 钩子函数详解
  • UVM验证中,用uvm_tlm_analysis_fifo替代手写analysis_imp的write函数,真香!
  • 芯片流片失败,真的是技术问题吗?