面向对象课程学习

来源:互联网 发布:知乎和日本女孩谈恋爱 编辑:程序博客网 时间:2024/05/10 20:48

设计一般流程:

黑盒:1用例分析

白盒:2 识别类:分析阶段只identify 问题领域的类,设计阶段可能添加软件世界特有的类,或者

    3 识别类之间的关系(关联,泛化,聚合,组合,依赖)

    4)画顺序图,结合用例图,完善类图

类图是结构设计,顺序图是动态交互设计

设计还有一个重要部分是:控制驱动设计,识别主动对象。系统可以看作是一堆对象,对象可以接受消息提供服务,但是一般对象就像一个service,是被动的。面向对象系统可以看作是一个消息处理系统,最开始的消息哪里来的?一般那分为2种,1)系统外部的输入(事件),2)内部的时钟驱动。


系统 =  对象系统 + 控制流


同步消息和异步消息的概念:


一般来说,一个对象给另一个对象发消息是指的两个主动对象之间,即两个独立的控制流。 同步的意思是,发送方和接受方同时参与到通信当中,也就是说发送方的控制流处在”发消息“的点,接收方的控制流要处在”收消息“的点。异步消息则是,发送方发消息的同时,接收方的控制流可以在任何点,接收方可以之后处理或者不处理消息。这里面隐含一个意思是,消息被持久化了,(先保存在消息队列里)。


异步消息和中断:

小白兔在吃萝卜,猎人开枪击中小白兔,这是一个异步消息,因为小白兔的控制流在吃萝卜。但是小百兔却立即响应被击中的消息,这其实是一种中断机制。用软件实现,其实是小白兔在吃一口罗卜的检查一下是否挨了枪子。硬件中断类似,指令时钟周期间看是否有中断信号。

0 0
原创粉丝点击