我正在开发使用Objective-C和Xcode 4的Mac OS X应用程序,并希望找到处理数据访问和承担业务逻辑任务而不必使用CoreData的最佳方式。在Mac OS X应用程序中是否可以使用DAL和BLL图层?
我从一个.NET MVC背景,通常会通过一个服务层(使用存储库模式),以返回可以映射到我的查看数据有我的控制器调用。这将以类似于传统业务逻辑和数据访问层的方式工作。
但是在Mac上我的大部分阅读提示我的模型和控制器应共享与数据填充模型的责任和承接业务和验证逻辑。
这在我看来有点严格,违背了DRY原则,因为我可能需要重复一些数据接入/业务逻辑操作的其他车型从而不必再编写代码THA相同的位。
因此是可行的有一组承接业务/数据访问逻辑(到SQLite数据库),其然后可以从任何控制器称为类或外部库?因此,该模型将只包含有关其自身和验证逻辑的数据?或者这是否违背了核心MVC原则以及在Mac上构建应用程序的方式?
不仅仅是我的背景是在.NET中构建使用数据库和构建多层应用程序的系统。我已经知道如何做到这一点,只是想将它应用到Cocoa,而不是学习一个新的对象图框架,这将延长已经紧张的项目期限。当我第一次开始开发时,我确实研究过这个问题,但是找不到我想要的关于这个主题的任何好的教程。即用模型等展示CRUD操作。谢谢 – Cragly 2011-05-03 20:10:18
我强烈建议再看看CoreData,因为您需要自己构建这些功能,这需要时间。只有少数情况下使用它没有意义。 – 2011-05-03 21:38:25
已经决定和CoreData一起玩了一遍。正如你所说的那样,它的高度优化和初步陡峭的学习曲线之后,它非常值得。 – Cragly 2011-05-22 13:41:18