|
��在这个结构中,模型是软件中的应用论域的各种对象,它们的操作独立于用户界面;视图则管理用户界面的输出;而控制器处理软件的输入。输入事件给出要发送给模型的消息。一旦模型改变了它的状态,就立即通过关联机制通知视图,让视图刷新显示。这个关联机制定义了在模型与各个视图之间的关系,它允许模型的运行独立于与它相关联的视图。类似地,控制器在输入事件发生时将对视图及模型进行控制与调度。 |
|
图6.17 MVC框架结构
|
��此外,在软件体系结构中还使用了许多其它配置,以实现所要求的特定行为,籍此构造要求的应用软件。对于MVC来说,可以通过开发模型的一个派生类,履行与应用相关联的处理,建立这个应用软件。例如,用户界面通过定义视图和控制器的派生类来建立,这些派生类中许多是可复用的既存类,像按钮和对话框等,这样就可以直接建立新的子系统。
��高层设计可以表征为标识和定义模块的过程。模块可以是一个单个的类,也可以是由一些类组合成的子系统。定义过程是职责驱动的。Wirfs-Brock和Helm等人使用了术语"合约"来描述类接口的协议。因为对象双方必须满足合约的条款,因此需要合约类比。需方提出的请求必须列在协议表中,供方则必须提供所有协议的服务。
��如果开发人员设计师完全遵循面向对象范型的规范的话,高层设计和类设计这两个阶段是相对封闭的。在这种情况下,应用软件中的每一个事物都是一个对象,包括应用软件自身在内!
根据这个思想,这两个阶段又是连接的。应用软件的设计是大类的设计,这种类设计考察应用软件所期望的每一个行为,并利用这些行为形成应用类的界面。
�� |
|