我想将表单传递给我制作的模型(MVC) 在OOD原则和松散耦合方面,首选态度是什么?
1)将新用户的所有详细信息从表单(用户名,密码,电话等)传递给模型到单个或重载方法? 或者:
2)将单个对象(例如"用户"或者#34; ParseUser"(解析云服务的对象 - parse.com))传递给模型。
利弊: 如果我传递ParseUser对象,tommorrow parse.com可以更改对象,我将不得不更改所有" clients"(=调用者)的代码,而不是仅仅从模型中更改它们。 然而,如果我将细节传递给重载方法(类似于(signUpUser(" Dave"," abc234",+ 834-000-000-00))我觉得它也是矛盾的松散耦合原则,因为实体之间传递的数据(多个变量)更多,而且看起来更麻烦...
答案 0 :(得分:1)
我建议你采用第二种方法
将单个对象(例如“User”或“ParseUser”(解析云服务的对象 - parse.com))传递给模型。传递具有其属性的单个对象可以为您节省大量代码。无论如何,如果第三方修改它的对象,你必须在两个场景中重构你的代码。
如果我传递ParseUser对象,tommorrow parse.com可以更改 对象,我将不得不改变所有的代码 “客户”(=来电者),而不是仅仅从模型中更改它们。
假设ParseUser对象是否将属性“time”传递给您的应用程序,那么您将其添加到您的模型&由n个客户访问。在将来,无论是将每个属性单独添加到模型还是直接向模型添加单个对象,parse.com都会弃用您必须在两个方案中重构代码的属性。您必须更改模型中的代码。
传递单个物体更清洁&减少代码。
您可以编写wrapper class来访问parse.com API,这将为您的应用程序提供抽象。