面向对象设计:使用方法参数vs属性

时间:2013-02-03 13:07:22

标签: c# object-oriented-analysis

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

使用以下方法发送参数:

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

或使用以下属性:

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

2 个答案:

答案 0 :(得分:7)

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

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

ObjectStorage.InsertRecord(obj);

答案 1 :(得分:1)

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

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

obj.name = "raed";
obj.year = "1987";
obj.InsertRecord();
不过,这属于programmers.stackexchange