我目前的工作在三個Vaadin應用程序,我真的覺得我會錯過一些東西。我用前用Spring MVC的工作,而建築是明確的,去耦,你注入的服務控制器和不耦合控制器的用戶界面等。Vaadin:設計模式
現在Vaadin這是不同的故事。因此,如果有任何Vaadin專家在那裏,讓我問你幾個問題:
問題1:
- 是否可以將注入服務(或DAO的)直接向UI組件?
- 示例:負責在電子郵件應用程序中顯示聯繫人的組件(ContactWidget,基於帶鏈接的VerticalLayout)需要顯示聯繫人。將contactRepository直接注入到此UI元素可以嗎?
問題2:
- 參考主應用程序被傳遞到UI其它的組件量巨大,因爲許多UI組件都需要訪問一些全局數據或調用在全球主要方法應用程序類
- 例:彈出組件具有打開新窗口,這應該是在應用程序的主窗口的子按鈕。因此彈出組件必須對主應用程序有參考。
問題3:UI組件之間
- 依賴關係會變得非常瘋狂。也許沒有什麼太多的在這裏做的,但有時感覺並不像這個窗口取決於該名單取決於彈出的......你的想法,它看起來緊密結合我
我會喜歡我的代碼變成麪條,所以任何建議,之前的經驗和最佳做法,將不勝感激學習儘可能多的有關良好的設計與Vaadin。
感謝名單灰塵。我最終選擇了基於番石榴的eventBus的手工製作的MVP(非常輕巧)和事件傳播。我對這個決定感到非常滿意,儘管Vaadin沒有穩定的MVP框架(儘管有一些beta/alphas /實驗)令人驚訝。 – Xorty
是的,儘管已經有很長一段時間了,但沒有足夠多的關注讓其他科技獲得工程師喜歡。大多數使用它的人正在尋找最簡單的解決方案,或者如果你像我們一樣,沒有足夠的時間記錄我們正在做的事情。 手工打造是一個非常好的選擇。這些概念是非常重要的部分,大多數MVC/MVP/MVVM框架僅僅是爲了確保你在線上着色。如果你有紀律,他們通常不是一個要求。 –