如何决定是将它分成两个类还是保持在同一个类中?

时间:2011-06-08 18:39:10

标签: javascript jquery oop design-patterns class-design

我有一个包含一些项目列表的页面。每个项目都有一些属性:评论,图像,标题,评论表单和内容。创建一个名为item的类似乎很简单,它将代表列表中的单个项目。

但是,我还有一个'孤儿'项目,用于向列表中添加新项目。例如,它具有所有相同的属性,文本框,按钮等,用于添加图像,编写内容等,但它没有存储在数据库中,并且它有一个新的“添加”按钮,将其保存到数据库,并且然后添加到列表中。

我是否仍然只创建一个名为item的类,并且只有一个名为isSaved的属性来确定是否显示“添加”按钮,是否显示其注释表单等?

或者我应该创建2个单独的类,调用一个newItem并将其用于孤立项,另一个savedItem并将其用于数据库中已有的项目?

此外,这是在JavaScript中,所以我认为我不能使用太多的继承。

1 个答案:

答案 0 :(得分:1)

通常,您需要更改行为或属性时的子类。如果唯一的区别是对象是否保存到数据库,很可能,这不是子类的候选者。添加isSaved等属性可能是最好的选择。除非,即一个人的行为在保存/未保存时与另一个人的行为根本不同。