我正在開發使用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