“关键抽象”是一个类或对象,它是问题域词汇表的一部分。确定这样的抽象的主要价值在于,它们给出了问题的边界,突出了系统中的事物-这些事物与我们的设计有关;同时,它们排除了系统之外的事物,这些事物是设计弱相关的。

确定关键抽象包含两个过程:发现和发明。

发现过程,我们学习领域专家所使用的抽象,(包括对业务对象的命名和描述、对流程及权限的描述等)

通过发明过程,我们创造了新的类和对象,它们不一定是问题域的组成部分,但在设计或实现中尤为重要。

例如:使用ATM的客户提到 帐户、取款和存款,这些词是问题域词汇表的一部分。这种系统的开发者会使用这些抽象,但也必须引入新的抽象,如数据库、列表、队列等。这些关键抽象是具体设计的结果,不属于问题域。

最后,用一组毕加索画的“公牛”,来说明关键抽象:

转载于:https://www.cnblogs.com/ggggdiu/p/7195934.html

面向对象分析与设计01 - 关键抽象相关推荐

  1. 面向对象分析和设计的几个关键步骤_(豁然开朗)《面向对象分析与设计》读书笔记 (4)- 分类...

    目录 分类 正确分类的重要性 分类的困难 分类的增量和迭代本质 确定类和对象 经典方法 && 现代方法 (种) 面向对象分析 (主要识别对象) 关键抽象和机制 确定关键抽象 识别机制 ...

  2. UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)

    文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...

  3. 面向对象分析与设计--遛狗玩

    这篇文章焦点并不在于继承以及多态性或者各种炫酷的设计模式上面,也不在与对未来的预测,而在于分析最基本的封装,提取类,组合 人遛狗的最简形式 public class People {public st ...

  4. 面向对象分析与设计的底层逻辑

    面向对象是符合人认识事物的基本方法 人是怎么认识事物的 在面向对象出现之前,已有面向过程的分析方法,为什么面向对象被提出了呢?究其本质原因,人们发现面向过程并不是按照人正常认识事物的方式去分析软件,那 ...

  5. 视频教程-面向对象分析与设计-软件设计

    面向对象分析与设计 在企业从事软件开发.架构设计.项目经理10年: 高校从教20余年,为本科生授课10余门; 组织项目开发15余项 姜宁康 ¥168.00 立即订阅 扫码下载「CSDN程序员学院APP ...

  6. 面向对象分析与设计(OOAD)

    面向对象分析与设计(OOAD) 概述 人是怎么认识事物的 分类与分层的两种思维 问题域到解空间的映射 软件生命周期 要解决的问题 三个一致性 面向对象分析与设计过程 对象从哪里来 发现对象的方法 组织 ...

  7. 面向对象分析与设计知识点总结

    文章目录 第一部分 概述 第1章 面向对象方法概论 1.1 面向对象方法定义 1.2 面向对象方法基本特点 1.3 面向对象的基本概念与原则 1.4 面向对象方法与传统方法比较 1.5 思考题 第二部 ...

  8. 面向对象分析与设计中的基本事件处理的机制及其优缺点对比

    xjtuer最好不要抄,五次作业都是去年优秀作业,如果因为全抄被老师逮住全给0分就得不偿失了,放在这里是给大家一个思路不用再去查找很多资料,了解之后再自己总结写一写 面向对象分析与设计中的基本事件处理 ...

  9. 笨办法学python3 学习笔记 习题43 基本的面向对象分析和设计

    习题43 基本的面向对象分析和设计 通过面向对象编程(OOP)构建一些东西的流程(常用)(自顶向下) 把要解决的问题写下来,或者画出来. 将第一条中的关键概念提取出来并加以研究. 创建一个类层次结构和 ...

最新文章

  1. 用户管理之用户的查询获取
  2. 7 series FPGA DSP48E介绍
  3. component表
  4. 【Python】JupyterLab 出 Windows 桌面版了!
  5. accounts/login/?next=/account/password-change/
  6. Kotlin入门(10)七十二变的输入参数
  7. shell学习笔记二
  8. OpenMP模式下多线程文件操作 (转)
  9. 探针台常见问题—如何减少LHe制冷剂消耗
  10. 如何避开微信小程序的审核机制(实测有效)
  11. Oracle (07)游标对象.智能循环(FOR) 遍历游标.NULL值的比较.异常处理.存储过程.如何指定参数的模式.function 函数.包 package.触发器 trigger
  12. 项目进度管理+项目成本管理
  13. 【转】谢帅同学做的——柔软的canvas时钟
  14. kaggle之员工离职分析
  15. 微信账单怎么查?微信流水账单怎么打印
  16. 轻松学会WiFi模块(ESP8266)—基于STM32,学到就是赚到!
  17. python的IDLE打不开如何解决
  18. 舌尖上的AI:人工智能技术正在被“端上”餐桌
  19. poj 1753 翻转棋子
  20. 【汇编】子程序调用实现多精度BCD码(十进制)相加

热门文章

  1. Eclipse 3 6 M7 太阳神版 发布
  2. 2021-05-28 aps助油田服务与设备行业实现数字化
  3. Lambda表达式效率低
  4. linux路由配置秘籍,最新最全秘籍:如何提升路由器信号强度?
  5. ViewPager+Fragment添加一行若干小红球滚动指示器指示当前ViewPager翻阅位置(可供第三方使用的类)
  6. 手机app逆向、渗透测试基础工具介绍
  7. 基于MITRE ATTCK的Red Teaming行动实践
  8. 大数据学长面试之瓜子二手车面试题
  9. vx2阀(未完待续)
  10. 分布式认知工业互联网赋能工业企业数字化转型