• 软考 - 面向对象开发


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

    面向对象基础

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

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

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

    常见的机制

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

    UML【下午重点】

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

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

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

    在这里插入图片描述

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

    在这里插入图片描述

    图(聚集了相关的事物)

    静态图

    • 类图:

    • 对象图

    • 用例图:

    • 构件图:

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

    动态图

    • 序列图:

    • 通信图:

    • 状态图:

    • 活动图:

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

    设计模式

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

    解决方案的核心!

    需要注意英文名称!!!

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    设计模式对应的UML图

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

  • 相关阅读:
    CentOS 初步测试 两台虚拟机 能否连通(ping 通)
    Photoshop(CC2020)未完
    添砖Java之路(其六)——通过集合制作的学生信息管理系统
    05、GO数组与切片
    了解 AI :了解 AI 方面的一些术语 (中英文对照)
    三、C++反作弊对抗实战 (实战篇 —— 3.如何获取游戏中角色人物角色的名称坐标、血量、武器信息(非CE扫描))
    kubernetes-Service服务发现
    交互式电子表格Baserow
    Vue2.0开发之——Vue基础用法-事件绑定-按键修饰符(21)
    如何在3dMax中使用Python按类型选择对象?
  • 原文地址:https://blog.csdn.net/laity__c/article/details/127870116