MVC Architecture in Java and the Placement of ActionListeners
Dalam seni bina MVC (Model-View-Controller), penempatan ActionListeners harus mengikut garis panduan khusus untuk mengekalkan pengasingan kebimbangan.
Penempatan ActionListeners
Secara teknikal, ActionListeners tergolong dalam lapisan Pengawal, kerana mereka mengendalikan input pengguna dan berinteraksi dengan Model. Walau bagaimanapun, Swing, rangka kerja GUI yang digunakan secara meluas di Jawa, tidak mematuhi corak MVC dengan ketat. Untuk kebolehbacaan dan kebolehselenggaraan, adalah perkara biasa untuk meletakkan ActionListeners dalam pakej berasingan di luar kelas View atau Controller, tetapi mereka masih harus diuruskan oleh Pengawal.
Komunikasi Antara Pengawal dan ActionListeners
Untuk melaksanakan fungsi Pengawal dari dalam ActionListeners yang bukan Pengawal subkelas:
Contoh:
// Interface for the View to notify the Controller of events public interface LoginViewListener { public void onLoginRequested(); public void onLoginCancelled(); } // Class containing the ActionListener public class LoginPane extends JPanel implements LoginView { private LoginViewListener listener; // ... public void setLoginViewListener(LoginViewListener listener) { this.listener = listener; } // ... @Override public void onLoginRequested() { if (listener != null) { listener.onLoginRequested(); } } } // Controller class public class LoginController implements LoginViewListener { private LoginPane loginPane; // ... public LoginController() { loginPane = new LoginPane(); loginPane.setLoginViewListener(this); } @Override public void onLoginRequested() { // Perform login operations // ... } // ... }
Pendekatan ini membolehkan reka bentuk yang dipisahkan dan fleksibel di mana Paparan dan Pengawal berinteraksi melalui antara muka, menggalakkan kebolehselenggaraan dan kebolehgunaan semula kod.
Atas ialah kandungan terperinci Di manakah ActionListeners Perlu Diletakkan dalam Seni Bina MVC Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!