我正在设计一个 Java 应用程序,承包商将使用它来绘制住宅图表。目前,我处于建模阶段并正在创建 UML 类图。我的问题是我不确定为我的一些对象建模的理想方法。用户将“绘制”房屋的元素,如墙壁、灯光、门、窗等……每个元素都有一组初始的必需属性。基于这组初始所需属性,该元素将需要一组不同属性的子集。
我将以我的 Structure 类为例。用户将在图表上“绘制”的一件事是结构。结构的两个主要属性是结构类型和组合。组成很简单。客户端提供了用户将选择的可能组合列表,因此我将这些数据放在组合框中,然后从下拉列表中进行选择。但是,根据结构类型,将需要其他属性。
IE) 如果 StructureType = Wall,则需要长度和高度。如果 StructureType = Ceiling,则长度、宽度和高度都是必需的。
这个例子被简化了,可能看起来微不足道,但是子属性可以比这更复杂,而且有很多。其中一些会产生更多的子属性。然而,尽管过度简化,它给出了我试图解决的问题的一个非常具体的想法。
我的想法是我应该有扩展结构的子类,每个子类都有一组每个子类独有的属性。IE) 类 Wall 扩展类 Structure,并包含一组 Walls 独有的成员变量。
一些关于我是否清楚地考虑这一点的建议将不胜感激,如果我不在基地,我们将不胜感激。同样,如果我在决策中遗漏了一些考虑,欢迎提出一些建设性的批评。