在MVC應用程序將模型分割爲獨立的域和映射器層的情況下,爲什麼要爲每個映射器類提供自己的接口?爲什麼我要爲每個映射器類創建一個接口?
我現在已經看到了一些例子,一些來自受人尊敬的開發商,如本博客的情況下,http://site.svn.dasprids.de/trunk/application/modules/blog/models/
我懷疑其因爲開發商期待的代碼被重新使用別人誰可能有自己的後端。是這樣嗎?或者我錯過了什麼?
請注意,在我看到的例子中,開發人員不一定要爲域對象創建接口。
在MVC應用程序將模型分割爲獨立的域和映射器層的情況下,爲什麼要爲每個映射器類提供自己的接口?爲什麼我要爲每個映射器類創建一個接口?
我現在已經看到了一些例子,一些來自受人尊敬的開發商,如本博客的情況下,http://site.svn.dasprids.de/trunk/application/modules/blog/models/
我懷疑其因爲開發商期待的代碼被重新使用別人誰可能有自己的後端。是這樣嗎?或者我錯過了什麼?
請注意,在我看到的例子中,開發人員不一定要爲域對象創建接口。
由於接口是類之間的契約(我有點假設你已經知道這一點)。當一個類希望你傳遞一個具有特定接口的對象時,目標是告訴你,這個類實例希望特定的方法可以在所述對象上執行。
,我能想到的唯一的情況下,即具有數據映射器定義的接口時,意義使用unit of work時管理持久性可能是。但即使如此,只需注入一個可創建數據映射器的工廠就更有意義了。
TL; DR:有人過分了。
PS:這是很可能的,我是完全錯誤的這一個,因爲我關於這個問題有點偏 - 我的映射器只包含3(+構造函數)公共方法:
fetch()
,store()
和remove()
..雖然名稱方法名稱會改變。我更願意從域對象中獲取檢索條件,如here所述。
謝謝,像往常一樣! – 2013-02-13 00:04:03