2009-03-16 26 views

Trả lời

0

Nếu bạn có thể tránh nó, có thể bạn nên làm như vậy. Nếu không, bạn có thể gặp phải rất nhiều vấn đề với phụ thuộc vòng tròn sau đó.

Họ có thực sự phải biết về nhau hay bạn có thể có khái niệm "kiểm soát" thứ ba tham chiếu đến cả hai không?

11

Như một quy luật chung, có thể có lớp "logic" có kiến ​​thức về lớp "gui". Ý tưởng đằng sau sự tách biệt là mẫu thiết kế Model/View (hoặc Model/View/Controller). Chế độ xem sẽ cần tham chiếu đến mô hình. Xem xét thực sự chặt chẽ tại sao mô hình cần tham chiếu đến chế độ xem. Thông thường khi mô hình cần gửi thông tin tới trình nghe sự kiện xem được sử dụng (xem mô hình bảng và danh sách javax.swing để biết ví dụ).

5

Cần tránh. Trong GUI của bạn, bạn có thể tham chiếu đến Logic miền của bạn, nhưng bạn không nên có tham chiếu đến GUI của bạn trong logic miền của bạn.

Tại sao? Vì nếu không, bạn không có lợi thế nào khi tách giao diện GUI & Logic trong các tệp riêng biệt. Khi Logic của bạn có sự phụ thuộc vào GUI của bạn, thì bạn không thể sử dụng Logic của bạn với GUI khác.

Vì vậy, bạn nên cố gắng tránh sự phụ thuộc này từ logic của bạn vào gui của bạn, hoặc, bạn nên làm cho trừu tượng của nó.

Tôi hy vọng tôi đang làm cho bản thân mình rõ ràng ở đây. :)

0

GUI có thể cần hiển thị một số loại giao diện cho lớp logic, để có cập nhật GUI khi lớp logic thay đổi điều gì đó.

Logic không nên có kiến ​​thức trực tiếp về việc triển khai GUI, chỉ giao diện của nó.

Đôi khi sử dụng Observer Pattern cho việc này.

Các vấn đề liên quan