我有一个类似于此的UI对话框:您必须从列表中选择一本书.(可选)您可以从列表中选择发布者(另一个类),也可以输入publisher-name和字符串.
我认为这给了我3种类型作为对话框的输出.
书
与出版商一起预订
预订发布商字符串
你会如何在物体中建模?在我看来,拥有一个图书基础类,然后是发布者和出版商名称的两个子类是正确的选择.有没有其他选择,也许有利于提供更好模型的构图?
我会尝试解释一下.一本书不需要有出版商.发布者对象与作为字符串输入的发布者名称不同.
您必须
从现有列表中选择一本书
您可以
选择以下某个选项 - 从现有列表中选择发布者,或者
您可以输入发布者名称,或者
您可以不填写发布者
第二是我的方法.
我将为Publisher提供一个名为Name的属性,以及描述发布者所需的任何其他属性.
然后我会有一个用于描述它的属性的书类,以及一个类型为Publisher的属性.
如果用户以字符串形式输入新发布者,请创建新的Publisher对象.
如果用户未输入发布者,请将该属性保留为null.这将满足该书没有出版商的条件.或者,您可以让发布商名称为"No publisher",但我认为这样做太过于避免空值.