Sự khác biệt giữa Handler, Manager và Controller


21

Có sự khác biệt nào giữa việc đặt tên một lớp "Handler", "Manager" hay "Controller" không? IE: PurchaseManager, PurchaseHandler, PurchaseController.

Những điều này có truyền đạt cùng một ý nghĩa hay có một sự khác biệt rõ ràng giữa chúng?

Nếu không có câu trả lời không biết ngôn ngữ, hãy coi Java là ngôn ngữ.


1
Nhiều bối cảnh sẽ hữu ích ở đây. Nhiều (nhiều!) Khung có định nghĩa khá rõ ràng về sự khác biệt. Tuy nhiên, không có định nghĩa phổ quát đằng sau những từ này. Bạn đang làm việc trong bối cảnh nào? Bạn đang sử dụng khuôn khổ nào? Ngôn ngữ của bạn đang sử dụng là gì?
S.Lott

Ngôn ngữ được làm rõ.
hpique

Câu trả lời:


14

Thông thường, 'Bộ điều khiển' là giao diện giữa thành phần giao diện người dùng và kiểu máy (ví dụ: Mua hàng). Bộ điều khiển nên là các lớp mỏng, thực hiện ít hơn là ánh xạ các sự kiện giao diện người dùng vào các chức năng mô hình.

Một 'Người quản lý' là một mùi mã. Việc mua phải tự quản lý hoặc có thể được quản lý bởi một lớp sở hữu, như Nhà cung cấp hoặc Người mua.

Một 'Handler' thường là một hàm duy nhất được bọc trong một đối tượng. Chúng cần thiết khi lập trình bằng các ngôn ngữ cũ mà không có chức năng hạng nhất.


Mặc dù tôi cũng không thích khái niệm 'Người quản lý', tôi nghĩ lý do căn bản của việc không xử lý logic kinh doanh của riêng mình là lập trình viên muốn tách một bean / pojo / dto khỏi các hoạt động kinh doanh phức tạp.
Sridhar Sarnobat

1
Mặc dù tôi đồng ý với bạn về Người quản lý theo quan điểm bất khả tri ngôn ngữ, tôi muốn thêm rằng Người quản lý có thể là thuật ngữ chính xác để sử dụng trong một số trường hợp. Ví dụ, có thể nói về các nhà quản lý theo quan điểm giao thức chẳng hạn. Đối với SNMP, bạn có Trình quản lý "quản lý" một nhóm Đại lý. Đây là thuật ngữ chính xác để sử dụng trong trường hợp này. Tuy nhiên, điều này không biện minh cho việc sử dụng "Trình quản lý" tự phát.
patrik

7

Mặc dù câu trả lời của tôi không dựa trên định nghĩa, tôi xem một cái gì đó được gắn nhãn là "Bộ điều khiển" là một triển khai độc quyền so với "Handler" là bao gồm . Tôi hy vọng sẽ chỉ thấy một sự tồn tại của "PurchasingContoder" và nhiều phiên bản có thể có của "PurchasingHandler".

Tôi nghĩ một tên phổ biến khác cho Bộ điều khiển là "Nhà môi giới" - điều này làm thay đổi một chút quan điểm về nó.


Cảm ơn bạn cho những định nghĩa. Bạn đã đưa vào rất nhiều kiến ​​thức trong vài dòng.
tìm kiếm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.