我知道這個問題已經被問,並回答了很多次,但我還是再次問同樣的問題...如何組織接口和類
我已經開始在行進應用程序的工作和目前我我正在創建底層DAO,因此我打算創建一個通用的DAO,它的實現以及每個實體類的接口。
我的查詢是什麼是組織所有的這些接口以及其實現的最佳途徑。
在此先感謝
我知道這個問題已經被問,並回答了很多次,但我還是再次問同樣的問題...如何組織接口和類
我已經開始在行進應用程序的工作和目前我我正在創建底層DAO,因此我打算創建一個通用的DAO,它的實現以及每個實體類的接口。
我的查詢是什麼是組織所有的這些接口以及其實現的最佳途徑。
在此先感謝
如果我理解正確的問題你找對組織您的包裹建議?
我再拆之間。 com.yyy.zzzz.dao.interfaces和com.yyy.zzzz.dao.impl
你是誰可以在你的應用程序應該如何組織決定的唯一一個。當然,您可以遵循一些建議,例如Java命名約定的軟件包,甚至嘗試爲您的應用程序中隱含的每一層拆分軟件包;但最終,你必須爲自己選擇。
@Kevin D的解決方案是正確的,你可以使用的com.company.project.dao.interfaces(我不會用interfaces
,因爲它是一個複數,我避免包名複數,但它再次取決於你)和com.company.project.dao.impl或者你可以使用包來分割不同的實現。這是你想要的。沒有人應該告訴你如何拆分自己的應用程序(除了你的團隊)。
唯一的(但仍兼)規則我想告訴你,遵循的是「有一致的名稱」。
也就是說,選擇您的項目約定,但堅持下去,當然選擇的名稱爲您的包(但它也適用於類,變量)必須代表他們的內容(但我想這是常識)。在另一個說明中,我不知道你的工作環境,但是你應該閱讀Adam bien's Weblog,你會看到一些關於DAO和「默認實現」最佳實踐的文章,也許它會涉及到你的項目。
資源:
感謝您的詳細信息和是的,我同意了我誰也拿在一天結束的時候決定我要求的意見,如果真有一個版本之外的其他典型應用該類超支.. – umesh 2010-10-09 09:09:59
@umesh,命名事物最有效的方式是讓團隊中的每個人都可以輕鬆理解。通常,開發人員選擇的命名約定對於讀取代碼的任何人都有足夠的意義。這就是爲什麼軟件包從一個項目到另一個項目如此不同,但是具有不同約定的兩個項目可以理解得多。 – 2010-10-09 09:22:25
您無法使用'com.company.project.dao.interface',因爲'interface'是一個關鍵字! – 2010-10-09 09:41:49
是的凱文你已經很好地理解了。當我們談論整個申請時,這個組織是一個選擇問題還是其他問題? – umesh 2010-10-09 08:34:06
我印象深刻,我只是醒了。 :) – 2010-10-09 08:35:07
任何人都在考慮爲此答案投票,請爲@Colin Herbert投票,他的答案會更好。 – 2010-10-09 09:18:50