2017-06-20 51 views
2

我正在實現一個與圖像一起工作的應用程序,並在其上應用過濾器。後端是用Java編寫的,並且附帶了使用JavaFx和FXML製作的桌面應用程序。我遇到的問題是如何以最好的方式組織我的代碼。使用Java和JavaFx的桌面應用程序中的模型 - 視圖 - 控制器(演示者)工作流程

我有一個控制器負責fxml文件中定義的元素的功能,以及一個Model,其中目前是來自後端的基於Java的整個邏輯。但是模型不應該包含像POJO類這樣的域對象嗎?我應該在哪裏放置以圖像作爲參數的方法並執行過濾操作,當點擊按鈕時應由Controller調用的方法?

我想添加一個服務包,將有實現這個邏輯的類,這個應該調用Model的方法嗎? 或者他們應該在模型中,但只是在不同的類?

建議將不勝感激:)也是這種架構更像MVP而不是MVC?

謝謝!

回答

0

我最近學會了用MVC模式構建我的JavaFX項目。我通過遵循這個youtube tutorial瞭解到,Almas在應用MVC設計模式時引導您構建簡單的文本編輯器。

JavaFX CSS reference對於我使用CSS開始樣式時也非常有用。

另請注意,在CSS樣式一些節點的成分,可以是例如層數:

#boldSeparator .line { 
    -fx-border-color: black; 
    -fx-border-width: 1 1 1 1; 
} 

又如使得ChoiceBox箭頭隱形:

choice-box, .choice-box .arrow, .choice-box .arrow-button { 
    -fx-background-color: transparent; 
} 

我希望這幫助。

+0

我知道我可以添加CSS樣式,但我的問題與視圖層無關。我想知道在Model和Controller之間建立一個圖層是否是一個很好的解決方案(我們稱之爲Service)。控制器應該有權訪問服務層,但我不確定Controller是否也應該訪問Model,或者只有服務應該(可以訪問Model)。我可能會讓自己複雜化,但我不知道爲什麼這對我來說更合乎邏輯。 – lightstar

+0

服務的目的是什麼? – Ricardo

+0

取決於您所指的模型。我可能是錯的,但我始終認爲模型層像簡單的類,不包括管理列表的類(例如存儲庫,例如,在域 - 存儲庫 - 控制器 - 用戶界面結構中)。我總是使用來自上述指定架構的域的MVC模型層。我錯了嗎? – lightstar

相關問題