zoukankan      html  css  js  c++  java
  • 《面对对象分析与设计》书摘

    太久没有读这些基础概念了。关键信息摘录备忘。

    二、对象模型

    • 面向对象编程是一种实现的方法,在这种方法中,程序被组织成许多组相互劣作的对象,每个对象代表某个类的实例,而类则属于一个通过继承关系形成的层次关系。
    • 面对对象设计是一种设计方法,包含面对对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型。
    • 面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求。


     对象模型要素

    • 抽象
    • 封装
    • 模块化
    • 层次结构
    • 类型
    • 并发
    • 持久

    抽象

    抽象描述了一个对象的基本特征,可以将这个对象的所有其他类型的对象区分开来,因此提供了清晰定义的概念边界,他与观察者的视角有关。

    实体抽象:一个对象,代表了问题域或者解决方案域实体的一个有用的模型;
    动作抽象:一个对象,提供了一组通用的操作,所有操作都执行同类的功能;
    虚拟机抽象:一个对象,集中了某种高层控制要用到的所有操作,或者这些操作将利用某种更底层的操作集;
    偶然抽象:一个对象,封装了一组相互间没有关系的操作。

    封装

    封装是一个过程,它分隔构成抽象的结构和行为的元素。封装的作用是分离抽象的概念接口及其实现。

    模块化

    模块化是一个系统的属性,这个系统被分解为一组高内聚、低耦合的模块。

    层次结构

    层次结构是抽象的一种分级或排序。

    类型

    类型是关于一个对象的类的强制规定,这样一来,不同类型的对象不能够互换使用,或者至少他们的互换使用受到严格的限制。

    并发

    并发是一种属性,它区分了主动对象和非主动对象。

    持久

    持久是对象的一种属性,利用这种属性,对象跨越时间和空间而存在。

    三、类与对象

    • 对象:对象是一个具有状态、行为和标识符的实体。结构和行为类似的对象定义在他们共同的类中。
    • 状态:对象的状态包括这个对象的所有属性(通常是静态的)以及每个属性当前的值(通常是静态的)。一个对象的状态代表了它的行为的累积效果。
    • 行为:行为是对象在状态改变和消息传递方面的动作和反应的方式。

    对象之间的关系

    • 链接:两个对象之间物理或概念上的联系。
    • 聚合
    • 继承

    类是一组对象,它们拥有共同的结构、共同的行为和共同的语义。
    关键抽象是来自于问题域词汇表的类和对象。
    机制是一种结构,一组对象通过它互相协作,提供满足问题域的某种需求的行为。
    抽象的品质可以通过它的耦合,内聚、充分性、完整性和基础性来度量。

    四、分类

    • 确定类和对象是面向对象分析和设计中的基本问题,确定过程包括发现和发明。
    • 分类本质上是分组问题。
    • 分类是一个增量、迭代的过程。它很难,其难处体现在给定的一组对象可以按几种同样的方式来分类。
    • 分类的三种方式,包括经典分类(按属性分类)、概念聚集(按概念分类)和原型理论(按照与原型的关系来分类)。
    • 场景是强大的面对对象分析工具,可以用于经典分析、行为分析、领域分析和用例分析。
    • 关键抽象反映了问题的词汇表,可以从问题域中发现,也可以作为设计的一部分而发明。
    • 机制代表了战略上的设计决策,考虑的是许多不同类型的对象的协作活动。
  • 相关阅读:
    python 小练习 5
    python 小练习4
    python 小练习3
    python 小练习2
    遇到后缀名为whl的库的安装方法
    hdu1394Minimum Inversion Number
    Triangle
    codeforces B. Pasha and String
    F
    C
  • 原文地址:https://www.cnblogs.com/kim4apple/p/4926616.html
Copyright © 2011-2022 走看看