(2)服务设计
如果某个类的对象必须要存储起来,则在类中应增加一个属性和服务用于完成存储自身的操作,这种属性和服务可以定义在对应类的构造和函数中,这样相应类的对象就知道怎么存储自己的属性和服务,在数据管理子系统和问题域管理子系统之间的自动架构必要的桥梁,不同数据存储管理系统的服务设计要点如下:
①文件管理系统:被存储的对象需要知道打开那些文件,在文件中如何定位、如何检索出旧值及如何更新它们,还需要定义一个Objectserver类,并通过该类对象提供下列服务,通知对象保存自己、检索已存储的对象(查找、读取值、创建并初始化对象等)以便由其他子系统使用这些对象。
②关系数据库管理系统:对象必须确定访问那些数据库表,如何检索到所需的元组,如何检索出旧值及如何更新它们,为此也需要定义一个Objectserver类,并通过该类对象提供下列服务,告知对象如何存储自己,检索已存储的对象(查找、读取值、创建并初始化对象等)以便由其他系统使用这些对象。
③面向对象数据库管理系统:对于在关系数据库上扩充的面向对象数据库管理系统,其使用方法与关系数据库管理系统的使用方法类似。对于由于面向对象编程语言扩充的面向对象数据库管理系统,无需增加服务,这种数据库管理系统已经给每个对象提供了存储自己的行为,只需要长期保存的对象加个标记,这类对象提供了存储和恢复即可由面向对象数据库管理系统负责万完成;对于新设计的面向对象数据库管理系统,系统本身就包含了相关的服务。
11.3服务、关联与聚合关系设计
面向对象分析的模型,通常不详细描述类中的服务及类之间的关联关系,面向对