2011-06-04 96 views
2

Im新的MVC。我的問題是你如何設計一個應用程序並用複雜的邏輯來實現它。在模型中創建複雜的業務邏輯

我正在使用Play框架,創建一個Java Web應用程序。與其僅僅處理基本表單數據被保存到數據庫中,想象我將文件發送到服務器(可能是電子表格),並且希望在將其保存到數據庫之前將其分解並清理。

現在我想以最實用,最深思熟慮的方式來做到這一點。我不想要一個真正緊密耦合的系統。例如,我可能想要在將來上傳一個CSV文件,並期待相同的結果。

所以基本上只是尋找建設一個複雜的模型的建議。到現在爲止,我的模型只是一個對象。對我來說,打破文件的問題看起來像我會寫一個單獨的包與一些實用程序等和一個主要的服務對象來處理原始數據。

任何意見一如既往將不勝感激。

回答

2

處理複雜業務邏輯的最佳方法是將其分解爲單獨的對象+方法。這樣,您可以使用組合構建複雜的調用,而不是將所有功能耦合到模型中的一個方法。

您的模型通常是一個對象,但沒有規則說它不能與其他對象通信。

+0

感謝您的意見,我想到的是sperate包一系列相關的對象將是我們的最佳途徑。我的模型仍然存在,但將處理傳遞給這個其他實體。我所面臨的問題主要是控制的倒置,似乎建設工廠處理分裂東西是費力的,過度難以測試和難以維護。那是減緩我的部分。 – Julio 2011-06-04 22:38:35

+0

你可以測試你的模型是使用mock正確調用包的方法。測試完成。 – james 2011-06-04 22:41:08

+0

也單獨測試你的包組件,並提供一個乾淨的公共API。這樣你只需要確保你的軟件包組件被調用的方式正確。 – james 2011-06-04 22:41:22