⭐设计模式UML详解:https://blog.csdn.net/qq_40274514/article/details/124047443

面向对象基础

面向对象的程序设计 和 面向对象设计区别

  • 面向对象的程序设计涉及到具体的编程语言

  • 面向对象设计只从系统逻辑结构设计解决方案

常见的机制

  • 动态绑定:过程调用和响应调用所需要执行的代码在运行时加以结合
  • 静态绑定:过程调用和响应调用所需要执行的代码在编译时加以结合

UML【下午重点】

UML是统一建模语言,和程序设计毫无关系!

UML基本构造块包含:事物、关系、图

事物(模型中最具有代表性的成分的抽象)

  • **结构事物:**模型的静态部分,如类,接口(声明对象类所需要服务),用例,构建等;
  • **行为事物:**模型的动态部分,如交互,活动,状态机;
  • **分组事物:**模型的组织部分,如包;
  • **注释事物:**模型的解释部分,简单符号;

关系(把事物结合到一起)

  • **依赖:**假设A类的变化引起了B类的变化,则说名B类依赖于A类。【调用其他类的方法】
  • 关联:分为聚合和组合,其中组合事物之间关系更强;两个类之间可以有多个由不同角色表示的关联
    • 聚合:即属性是外部类
    • 组合:即属性是内部类,同生共死
  • **泛化:**一般/特殊关系,字类和父类之间的关系
  • **实现:**一个类元指定了另一个类元保证执行的契约

图(聚集了相关的事物)

静态图

  • 类图:

  • 对象图:

  • 用例图:

  • 构件图:

  • **部署图:**系统静态部署图,表示软件组件和硬件之间的物理关系

动态图

  • 序列图:

  • 通信图:

  • 状态图:

  • 活动图:

实体类:主要负责数据和业务逻辑;
边界类:负责和用户进行交互,即用户界面;
控制类:负责实体类和界面类的交互;

设计模式

设计模式中的六大原则

  • 单一原则:一个类只负责一个功能领域的相应职责,实现高内聚低耦合
  • 开放-封闭原则:对增加进行开放,对修改则关闭
  • 里氏替换LSP原则:
    • 任何有**基类(父类)**出现的地方,子类一定可以出现
    • 软件系统中把基类都替换成它的子类,程序的行为没有变化
  • 依赖倒转原则:依赖于抽象,不依赖于实现
  • 接口隔离原则:客户端不应该依赖于它不需要的接口
  • 迪米特法则:合理引入一个第三者来降低现有对象之间的耦合度

解决方案的核心!

需要注意英文名称!!!

创建型设计模式

抽象工厂模式 和 工厂方法模式的区别
参考文献:
UML图:https://www.jianshu.com/p/6060e0632071
差异分析:https://www.cnblogs.com/my-blog-site/p/16293474.html工厂方法模式、抽象工厂模式,傻傻分不清楚?
为了解释得更清楚,先介绍两个概念:
产品等级结构:比如一个抽象类是食物,其子类有苹果、牛奶等等,则抽象食物与具体食物名称之间构成了一个产品等级结构。食物是抽象的父类,而具体的食物名称是其子类。
产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品。如 AKitchen 生产的苹果、刀子,苹果属于食物产品等级结构中,而刀子则属于餐具产品等级结构中。而 BKitchen 可能生成另一组产品,如牛奶、杯子。
因此工厂方法模式、抽象工厂模式最大的区别在于:
工厂方法模式:针对的是 一个产品等级结构。
抽象工厂模式:针对 多个产品等级结构。
抽象模式比工厂模式高级!!总结做题:
工厂方法模式:每个具体工厂类只能创建一个具体产品类的实例
抽象工厂模式:每个具体工厂类可以创建多个具体产品类实例

结构型设计模式

适配器模式和桥接模式的区别:
适配器模式:改变已有的两个接口,让他们相容。
桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离。

行为型设计模式

行为型对象模式 和 行为型类模式 区别!!!
行为型对象模式采用组合或聚合在对象间分配行为
行为型类模式采用继承机制来在类间分派行为
由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性

设计模式对应的UML图

参考文献【详解】:https://blog.csdn.net/qq_40274514/article/details/124047443

软件中级设计师 - 面向对象开发相关推荐

  1. 软件中级设计师 - 软件工程

    软件过程基本概述 基本要素 方法 工具 过程 软件过程模型 能力成熟度模型CMM 能力成熟度模型CMMI 统一过程UP模型 针对大型项目 三大特别 用例和风险驱动 以架构为中心 迭代并且增量 四个阶段 ...

  2. 软件中级设计师 - 程序语言设计

    程序设计语言基本概述 程序设计语言是为了书写计算机程序而人为设计的符号语言,用于对计算过程进行 描述.组织和推导. 低级语言:机器语言(计算机硬件只能识别0和1的指令序列),汇编语言. 高级语言:功能 ...

  3. 软件中级设计师 - 计算机网络

    网络 OSI/RM七层模型[必考] OSI/RM七层模型: 物理层:二进制数据传输,物理链路和物理特性相关. 数据链路层:将数据封装成帧进行传送,准确传 送至局域网内的物理主机上. 网络层:数据分组传 ...

  4. 软件中级设计师 - 计算机组成与结构

    数据计算 数据的进制转化 十六进制符号 0X 或 H,可表示为0x18F 或 18FH m进制转n进制:先将m进制转化为十进制数,再将十进制数转化为n进制数(2进制可直接转8进制(3位)和16进制(4 ...

  5. 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)

    软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...

  6. 软件设计师-系统开发与软件工程

    系统开发与软件工程 1.软件开发生命周期模型 瀑布模型: 瀑布模型是一种理想化的开发模型,要求有明确的需求分析,而要达到这一点,在现实开发中几乎不可能. 原型法: 原型法最大的特点是采用了一种动态定义 ...

  7. 软考软件设计师---面向对象技术(设计模式--创建型--工厂、生成器、原型、单例)

    转载于自己博客文章: 软考软件设计师---面向对象技术(设计模式--创建型--工厂.生成器.原型.单例) - 松下之约一.创建型设计模式关注对象的创建,让一个类得到实例化过程由另一类的对象完成.分类: ...

  8. 从头开始学习 Dojo,第 2 部分 使用 Dojo 掌握面向对象开发

    什么是面向对象开发? 面向对象编程(Object-Oriented Programming,OOP)是一个软件开发范式,它基于称为 "对象" 的数据结构的定义,由数据属性和函数组成 ...

  9. 使用 Dojo 掌握面向对象开发

    原文出处:Joe Lennon 从头开始学习 Dojo,第 2 部分 使用 Dojo 掌握面向对象开发 什么是面向对象开发? 面向对象编程(Object-Oriented Programming,OO ...

最新文章

  1. 写给自己的web开发资源
  2. Linux学习笔记8——VIM编辑器的使用
  3. Linux美化——终端提示符
  4. MySQL-TCL语言
  5. 功率曲线k值_什么叫离心泵的流量——功率曲线?它们之间有什么关系?
  6. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 3丨删除重复的电子邮箱【难度简单】
  7. mysql开启 pscache_Druid连接池在mysql的场景PS Cache是否需要开启?
  8. STAR对RNA seq进行map
  9. 基于JavaWeb的12306网络购票系统设计与实现 文档+项目源码+脚本文件
  10. Windows安装WSL详解
  11. 古体字与简体字对照表_简体字与繁体字对照表汇总
  12. windows多线程同步机制---原子锁
  13. python实现不重复排列组合_python 实现排列组合
  14. 最新版华美淘客商城淘宝客程序源码
  15. eclipse安装c语言开发linux,在linux下安装eclipse 开发c语言程序
  16. 怎么卸载电脑中的oracle,oracle怎么完全卸载
  17. 如何配置静态路由使三台PC机互联
  18. Map--HashMap实现分析
  19. Sobel算法优化 AVX2与GPU
  20. 利用google maps API开发应用精选

热门文章

  1. 开源搜索项目-倒排索引代码解析(一)
  2. mysql set类型的用户变量,mysql用户变量的圈套
  3. 忍不住吐个槽:985硕,2021年毕业入职某国企,月薪不到一万,年终奖490元!
  4. EZ-USB FX2单片机原理、编程及应用 读书笔记
  5. 我国羽绒制品在欧洲遭遇部分消费者抵制
  6. 高一计算机考多少及格,高一高二高三,每个阶段考多少分才正常?必读
  7. 通过cmd命令,使Scite在windows下构建,并安装lua环境与中文乱码问题
  8. Java Web前后端分离项目—后端servlet实例
  9. 2022年全国最新中级消防设施操作员模拟题库及答案
  10. DICOM:开源DICOM服务框架DCM4CHE 构建