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

Rae*_*leh 2 c# object-oriented-analysis

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

使用以下方法发送参数:

obj.InsertRecord("raed","1987")
Run Code Online (Sandbox Code Playgroud)

或使用以下属性:

obj.name= "raed"
obj.year= "1987"
obj.InsertRecord() 
Run Code Online (Sandbox Code Playgroud)

Cod*_*ter 7

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

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

ObjectStorage.InsertRecord(obj);
Run Code Online (Sandbox Code Playgroud)