yangsirgo / softwareTest

软件设计师考试
6 stars 2 forks source link

面向对象的概念 #34

Open yangsirgo opened 4 years ago

yangsirgo commented 4 years ago
  1. 基本概念:

    • 对象:属性(数据)+方法(行为)+ 对象ID

    • 类:实体类/控制类/边界类,具体的实体类,控制类,边界类的介绍 https://github.com/yangsirgo/softwareTest/issues/16

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

    • 封装:隐藏对象的属性和实现细节,仅对外公开接口,是一种信息隐藏的机制。对开发来说,是结构代码的方式,实际也是隐藏细节实现,暴露公开接口。

    • 多态:不同对象收到同样的消息产生不同的结果。子类继承了父类的方法,并对父类方法进行了重写,不同的子类会有特定的实现。客户类无需知道所调用方法的特定子类的实现。 示意图: 多态

    • 重载:一个类可以有多个同名而参数不同的方法。

    • 继承与泛化:复用机制。示意图: 继承与泛化

    • 消息: 对象直接的通讯。

    • 组件就是构件。

    • 模式与复用: 模式就是为了复用。代码的规范化的处理,便于复用,整理起来变成了模式。

2.面向对象设计原则:

yangsirgo commented 4 years ago

面向对象中的UML:

  1. UML构造:

    • 事物。
    • 关系:
  2. 依赖。

  3. 关联。示意图: 关联关系

  4. 聚合。示意图: 聚合关系

  5. 组合。 示意图: 组合关系

  6. 泛化 自上而下耦合度越来越高。

    • 图。
  7. 结构图:

    • 类图: 表示类与类关系的图。
    • 对象图: 表示对象与对象关系的图。
    • 包图:展示包与包之间的关系,也有包内部的关系。
    • 组合结构图
    • 构件图:构件之间的关系图。
    • 部署图: 区别于其他的图:软件的构建应该部署到哪些硬件节点上。
    • 制品图。
  8. 行为图(动态图):

    • 用例图(用例): 外部的参与者与系统的交互关系。有分歧。一般是动态图,有时候也分到结构图。考试的时候最后再选。示意图: 用例图
yangsirgo commented 4 years ago

设计模式概念: 架构模式:软件设计的高层决策,反映了开发软件系统过程中所作的基本的设计决策。例如C/S结构就属于架构模式。 设计模式:关注软件系统的设计,与具体的实现语言无关。与架构模式的区分主要看是从全局出发看的还是从局部看的。 惯用法:与语言相关。区分惯用法还是设计模式看是否与语言相关。

yangsirgo commented 4 years ago

https://github.com/yangsirgo/softwareTest/issues/25 设计模式