应用程序中的iOS类作为数据传输对象

时间:2012-08-28 12:03:15

标签: iphone ios model-view-controller dto

我目前正在开发一个支持许多功能的项目。

其中一个是用户注册。我有一个视图控制器以及一个处理用户输入的视图。我进一步实现了UserService启动上传器上传用户数据并通知视图控制器是否上传成功/失败等等。

现在,我不会将数据保存到coredata(只是其中的一部分),并且想知道将整个应用程序中的数据从视图控制器发送到我的上传者的最佳方法。

我知道简单的方法就是:

- (void) startUserRegistrationEmail:(NSString *) aEmail
                          firstname:(NSString *) aFirstname
                               name:(NSString *) aName
                          birthdate:(NSDate *) aBirthdate
                        citizenship:(NSString *) aCitizenship
                             street:(NSString *) aStreet
                       streetnumber:(NSString *) aStreetNumber
                           postcode:(NSString *) aPostcode
                            address:(NSString *) aAddres;

优点是我的服务和上传器不依赖于任何可能提高可重用性的模型。

但我认为有几个缺点。 我必须验证视图控制器中的输入字段。如果我有一个模型对象,我可以轻松地将所有输入填充到此对象中,调用有效,如果失败,则形成一个正确的错误,该错误将显示给用户。

此外,我在服务和上传程序中的方法将缩小为

- (void) startCustomerRequestQueryEmail:(AMRegistration *) aRegistration

由于AMRegistration类的数据不会保存在coredate中,我不会将其实现为managedObject,而是实现自定义类。

上传完成后,我可能会查看引用并将我需要的数据保存到托管对象中。 (这是另一个优点,因为我不需要在9个字符串上保留引用,而只需要在一个AMRegistration对象上保存引用)。

我想知道你是如何处理这些问题的?您是否更频繁地使用这些“辅助对象”,还是避免使用它们?

0 个答案:

没有答案