我的UML图的OO设计指导

时间:2014-02-26 15:42:11

标签: java oop uml composition abstraction

我可以获得一些关于这个UML图的反馈吗?这是一个简化的图表,仅显示了类的布局和互连性,以及此时故意遗漏的实例变量,构造函数和方法。

  

Inventory Project Simplified UML Diagram

我需要指导的主要是面向对象的设计。我是否有正确的类实现接口,或者我应该将接口移动到子类(s)/超类(es),我是否有关联,组合,聚合关系正确...这些类型的东西。由于我还是UML的新手,我希望我已经使用适当的约定来描绘我想要的关系。

基本上我正在做一个Java项目,在那里我模仿一个商店库存的数据库。项目的范围只需要几个类,但我正在添加接口和其他OO技术以更好地学习面向对象的设计,因为这基本上是我的第一个适当的OO项目(我已经将一个具体的类扩展到另一个具体的类)到目前为止,这里到目前为止。

我几天前做了一个类似的线程,但后来添加了一些东西,改变了一些东西,等等。另外,我对OO设计的指令仍然太不稳定,我需要进一步的反馈,以帮助我获得更好的掌握 - 更有信心利用 - 面向对象设计。

RetailProduct,顺便说一下,应该是抽象的;我意识到在拍完照片后我忽略了斜体。

2 个答案:

答案 0 :(得分:0)

类图看起来正确。我认为,你在UML和OOP中的命令远非坏事。但是:

  • 这块SW本身不存在。它将获得一些UI。此UI将引用该产品以显示它。而且这个产品必须有一些参考记录。它没有任何!

  • 要使与抽象RetailProduct相关联的记录只有在从中派生出最少两个不同的具体类时才有意义。因为它是一个过于复杂的结构。额外楼层的用途是什么?你管理OOP。但是你使用的OOP多于任务所需的OOP。

答案 1 :(得分:0)

看起来不错,但我没有看到持久性相关类的重点。您可以使用方法PersistenceManagersave的{​​{1}}类来处理序列化。

如果你想要额外的OO点,restore应该是一个接口,然后你实现PersistenceManager。因此,很容易实现其他类型的后端,例如FilePersistenceManager ...