首頁 > Java > java教程 > ActionListener 應該駐留在 MVC 架構中的什麼位置?

ActionListener 應該駐留在 MVC 架構中的什麼位置?

Patricia Arquette
發布: 2024-11-30 15:41:12
原創
742 人瀏覽過

Where Should ActionListeners Reside in an MVC Architecture?

MVC and GUI: Where do ActionListeners belong according to MVC pattern?

As you mentioned, this question relates to the placement of ActionListeners in the Model-View-Controller (MVC) architectural pattern. Swing, used for creating GUIs in Java, doesn't strictly follow MVC.

1. View Responsibility:

Technically, the View should be responsible for maintaining ActionListeners attached totrols the Control the Actionls Controlnlerers attached totroller about actions taken. This way, the Controller is isolated from UI components and can work with any implemented View.

2. Dedicated View Listener:

Instead of of Instead.中,您也可以建立一個專門的View Listener。此偵聽器將描述視圖可能產生的操作,例如:

The Controller would then subscribe to the View via this listener, and the View would call didPerformClose when the close button is pressed.

public interface MainViewListener {
    void didPerformClose(MainView mainView);
}
登入後複製
Managing Inter-Layer 。 others.

Updated Example:

Login View Example with Loose Coupling:

Conider a login. and LoginView have specific responsibilities:

CredentialsView:

Gathers credentials (username and password)

LoginView:
  • Manages the CredentialsView
  • Manages the CredentialsView

Dismisses the view on successful/failed authentication

By using interfaces for communication, both views and the controller can be easily replaced or updated without breaking the Action. Placement:
  • In the updated example, the ActionListeners for the authenticate and cancel buttons are still in the LoginView. However, the LoginView acts as both the controller for the Credviews and Controller. approach simplifies the logic while maintaining a clear separation of responsibilities.
  • In Conclusion:
  • ActionListeners應該由View維護,通知Controller動作。
  • 層之間的通訊應該透過介面來促進鬆散耦合。
  • 仔細設計視圖職責,控制器職責和層間通訊有助於維護 MVC 模式的完整性。

以上是ActionListener 應該駐留在 MVC 架構中的什麼位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板