UML--如何解决面向对象的困难

需要解决的问题

- 就是现实怎么映射到对象?
- 对象又如何描述显示呢?
- 对象对于现实的描述又是否准确呢?

UML--如何解决面向对象的困难

现实如何映射到对象

(现实–业务模式)
建模
通过建模的方式将现实映射到对象世界中。

什么是建模?
建模就是建立模型,为了理解事物对事物进行抽象。

怎么用建模表示?
如何用建模表示,和站在那个角度来进行抽象有关系,因为在此只说明现实世界映射到对应世界,所以采用范围较广的抽象,主体和客体和规则,主体就是我们人,客体是事物,规则是人做事要遵守的内容。那么建模的化怎么表达呢,人映射为参与者,是信息来源提供方,其余的映射为用例,用例表示人想达到的目的,通俗讲我想达成某一件事情。

怎么表示?
人,提供信息源的人,表示为参与者
描述事物及规则的,表示为用例(通过业务对象模型代表事物),用例代表了什么?用例代表了现实的业务过程。

业务模式映射了什么呢?
业务模式映射了参与者在现实世界的行为。其实就是通过它来解决了困难之一:现实怎么映射到对象。

总结:
其实很简单的一句话就是用对象语言来描述现实世界

对象如何显示描述

我们的前一步已经讲现实映射到了对象的世界中,但是目前实现了相对应和如何表示。相当于我们目前了解了它的元素,仅仅知道元素是不能实质去指导开发的,所以我们还需要通过概念化的过程来建立实现的模型,这个所建立的模型就是分析模型。

分析模式分析了什么?
原始需求和实现的约束。挥着分析模型的元模型:边界类、实体类、控制类。

边界类、实体类、控制类是什么?

边界:
外部能对内部做什么事情

实体:
业务实体实例化

控制类:
用来表述动态信息,为什么需要一个专门来表示动态呢?因为边界和实体是静态的,他们之间不能直接相互访问,所以就需要控制类来做代理,代理动态信息,就像一个游戏我不动你不动我们不能直接相互访问传递信息,那我们就不交流不动作了吗?我们可以使用第三方来专门进行动

对象对于现实的描述又是否准确呢?

实践是检验真理的唯一标准,我们还需要去不断的检测以确认是否正确。那么以我们目前的信息可以执行检测了吗?貌似还没有,我们将现实映射到了对象世界,找到了可表达的因素,利用这些因素在遵循一定规则的情况下将其概念化了,但并没有设计它,没有形成代码,这时候它是不能运行的,不能运行不能实践我们怎么检测它的正确性呢?所以我们需要向设计模式开始转移。也就是实例化概念模式。

设计模式做什么?

设计模式就是制造部件并组装的一个过程。那概念模式给设计模式提供了什么?
概念模式相当于给出了一个清单和流程图,它给出了我需要的部件以及部件组装的流程图,感觉有点像我们的设计说明书。