如何解决如何在OOP中实施设计
我有以下结构
- 一个组织可以拥有许多环境。
- 一个环境可以有许多应用程序。
- 一个应用程序可以包含多个Policis。
我创建了每个实体的类,即
- 班级组织
- 类环境,
- 类应用程序
- 课程政策
现在,我要将策略应用于“应用程序”。
一个策略应具有一个Policy
类对象。策略的所有实例均不同。每个策略都有唯一的名称和ID。
继承将不起作用,请考虑以下层次结构-
- 组织
- 环境(组织)
- API(环境)
- 政策(API)
因为需要执行每项策略,所以必须提供API,环境,组织的所有详细信息。
我们可以在这里进行汇总吗?在这方面需要帮助
解决方法
所有Policy实例都不相同。 每个政策都有唯一的名称和ID
您可以通过约束来表明这一点:
Policy.allInstances() -> forAll(p1,p2 |
p1 <> p2 implies (p1.name <> p2.name and p1.ID <> p2.ID))
您提供的信息中的类图可以是:
我不使用双向关系,假设策略不知道关联的 Application ,而他们不知道关联的 Environment 谁不知道相关的组织。
我使用等于*
的多重度0..*
,因为您的问题中没有任何内容说最小多重度每次都是1。我没有指出关系的相反方向上的多重性,因为您的问题并未说明它们之间的某些联系。
继承无效
A inherits B
暗示A is a B
,在您所提供的类中,没有一个满足您的要求,因此它们之间没有继承。
我们可以在这里进行汇总
可能在 Environment 和 Application 之间,因为我们可以说环境是由应用程序组成的,而其他情况则不是。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。