第十一章:面向对象设计(软件设计师备考)


第一节:面向对象基本概念

  • 对象:

    将人、物抽象为对象,对象包含属性和方法。

  • 类:

    将对象的共性抽取出来形成了类。类分为实体类(与数据对应)、边界类(与外界交互的类)、控制类(类与类之间的衔接)。

  • 封装:

    将属性设为私有,用公共接口(方法)调用私有属性。

  • 继承与泛化

    继承指子类继承父类;将多个类的共性抽取出来形成一个上层类,这个过程叫做泛化。

  • 多态

    同样的操作控制不同的对象。

  • 接口

    是一种特殊的类,只有方法的定义没有方法的实现。

  • 消息

    对象之间进行交互的时候所采用的机制,采用异步的方式。

  • 组件

    即构建。

  • 模式和复用

    模式是一种经验的传承。

第二节:设计原则

  • 单一职责原则:设计目的单一的类。降低类与类之间的关联度,降低耦合度。
  • 开放-封闭原则:对扩展开放,对修改封闭。使用新的类解决问题,而不是修改原有的类,避免引入新的问题。
  • 李氏替换原则:子类可以替换父类。不要盲目的重载父类函数。
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。依赖于接口可以使得操作变得更加灵活。
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
  • 组和重用原则:要尽量使用组合,而不是继承关系达到重用目的。因为继承是高耦合的关系。
  • 迪米特原则(最小知识法则):一个对象应当对其他对象有尽可能少的了解。通过封装实现。

第三节:UML

image-20211017201134686

类图:类之间关系的图

对象图:对象之间关系的图

包图:包之间关系的图

构件图:该图是描述系统构件与构件之间、类与接口之间的关系图

部署图:软件的部件应该部署在哪个硬件的节点上面

制品图

动态图/行为图包括:

用例图:表达的是系统和外部的交互关系

顺序图/序列图:强调了时间顺序的通信图

状态图:表达的是状态的变迁、转移的情况

活动图:与流程图的结构一致

第四节:设计模式

1. 设计模式的基本概念

三种设计模式:

  1. .架构模式:是软件设计中的高层决策,例如C/S结构就属于架构模式。
  2. 设计模式:反映了开发软件系统过程中所作的基本设计决策,而设计模式则是主要关注软件系统的设计,与具体的实现语言无关,是在软件开发过程中,经过验证的,用于解决在特定环境下的、重复出现的、特定问题的解决方案。
  3. 惯用法:是最底层的模式,关注软件系统的设计与实现,实现时通过特定的程序设计语言来描述构件与构建之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如c++语言的惯用法就是:引用–计数。

2. 设计模式的分类

设计模式可以被分成三种:创建型模式、结构型模式、行为型模式

创建型模式:

image-20211017205955030

结构型模式:

image-20211017210016795

适配器模式:想使用一个已经存在的类,而它的接口不符合描述

装饰模式:在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责

桥接模式:不希望在抽象和它的实现部分之间有一个固定判定关系

享元模式:即对象共享

行为型模式:

image-20211017210037599 image-20211017210150170

参考视频:https://www.bilibili.com/video/BV1yU4y1371J?p=153

猜你喜欢

转载自blog.csdn.net/weixin_45605541/article/details/120816161