前言:
今天小伙伴们对“面向对象分析包括哪些活动应该建立哪些类型的模型”都比较关切,姐妹们都想要剖析一些“面向对象分析包括哪些活动应该建立哪些类型的模型”的相关知识。那么小编同时在网摘上汇集了一些对于“面向对象分析包括哪些活动应该建立哪些类型的模型””的相关内容,希望大家能喜欢,我们快快来学习一下吧!代码中,看到了那么多的类,他们是如何被创造出来的吗,合理吗?
或许只是习惯性反射式的 class 或者 struct,无class不兄弟,不编程~
发现很多新同学,不知道面向对象的一般过程与方法
发现很多老同学,以为自己已经深刻理解了面向对象,实则缺乏体系和本质认知
软件是一门哲学,但也有套路与方法。
下面我们就一起来探究,那些出现在我们“代码中的类是如何来的,合不合理”
向对象分析OOA:Object-Oriented Analysis,强调的是在问题领域内发现和描述对象(或概念)。
面向对象设计OOD:Object-Oriented Design,强调的是定义软件对象(属性和方法)以及它们如何协作(交互图)以实现需求。
面向对象实现OOP:Object-oriented programming,面向对象编程,是把我们OOD的设计结果转为代码。
上面是面向过程的过程和相关制品介绍,下面会分布展开进行,来一场对象之路~
本系列文章分为目录为:
一、OOA:定义用例,看明白需求1. 分清类型,看功能需求2. 用户故事,初步需求提炼3.用户用例,进一步需求细化3.1 用例形式与准则3.2 用例间关联精化4. 用图表示,理解沟通更高效4.1 用例图,关联角色功能4.2 顺序图,描述系统交互4.3 活动图,描述业务会话二、OOA:定义领域模型,熟悉领域1. 什么是领域模型2. 为什么创建领域模型3. 如何创建领域模型3.1 寻找概念类3.2 建立关联关系3.3 补充类属性3.4 模型是否正确4. 领域模型进一步精化4.1 泛化特化层次4.2 构建关联类4.3 划分包管理三、OOD:定义交互图,理清职责和协作四、OOD:定义设计类图,构建软件世界1. 基于UML表示类2. 认识职责与职责驱动3. GRASP:给对象分配职责3.1 创建者(Creator)3.2 信息专家(Information Expert)3.3 低耦合(Low Coupling)3.4 控制器(Controller)3.5 高内聚 (High Cohesion)3.6 多态(Polymorphism)3.7 纯虚构(Pure Fabrication)3.8 间歇性(Indirection)3.9 防止变异 (Protected Variation)4. 对象可见性设计5. 更多对象设计五、OOP:选择语言,进行代码实现六、Grasp、Solid和GOF关系
完整系列,更多直达:
架构师面向对象分析系列文章(开篇)
架构师面向对象分析系列(一)-OOA定义用例,看明白需求
架构师面向对象分析系列(二):OOA定义领域模型,快速熟悉
架构师面向对象分析系列(三):OOD定义交互图,理清职责和协作
架构师面向对象分析系列(四):OOD定义设计类图,构建软件世界
架构师面向对象分析系列(五):OOP选择语言,进行代码实现
架构师面向对象分析系列(六):Grasp、Solid和GOF那些事