3

在面向对象设计中,以下哪个更好?

使用以下方法发送参数:

obj.InsertRecord("raed","1987")

或使用以下属性:

obj.name= "raed"
obj.year= "1987"
obj.InsertRecord() 
4

2 回答 2

8

如果您发送参数,则InsertRecord()每次obj' 的类签名更改时都必须更改签名(例如,如果您添加一个description属性),因为您需要保存这些新属性。

此外,对象本身不应该为保存自己而烦恼。那不是对象的责任。所以,像这样的东西是最具前瞻性的:

ObjectStorage.InsertRecord(obj);
于 2013-02-03T13:10:11.040 回答
2

面向对象编程,这是首选:obj.InsertRecord("raed", "1987");

面向组件的编程,后者是首选:像这样:

obj.name = "raed";
obj.year = "1987";
obj.InsertRecord();

顺便说一句,这属于programmers.stackexchange

于 2013-02-03T13:09:38.370 回答