Perbedaan antara Handler, Manajer dan Pengendali


21

Apakah ada perbedaan antara penamaan kelas "Handler", "Manager" atau "Controller"? IE: PurchaseManager, PurchaseHandler, PurchaseController.

Apakah kecukupan ini menyampaikan makna yang sama atau adakah perbedaan yang jelas di antara keduanya?

Jika tidak ada jawaban bahasa-agnostik, anggap Java sebagai bahasa.


1
Lebih banyak konteks akan membantu di sini. Banyak (banyak!) Kerangka kerja memiliki definisi perbedaan yang cukup jelas. Namun, tidak ada definisi universal di balik kata-kata ini. Dalam konteks apa Anda bekerja? Kerangka apa yang Anda gunakan? Bahasa apa yang Anda gunakan?
S.Lott

Bahasa yang diklarifikasi.
hpique

Jawaban:


15

Biasanya 'Controller' adalah antarmuka antara komponen antarmuka pengguna dan model (mis. Pembelian). Kontroler harus kelas tipis, melakukan sedikit lebih dari memetakan peristiwa antarmuka pengguna untuk memodelkan fungsi.

'Manajer' adalah bau kode. Pembelian harus dikelola sendiri, atau dapat dikelola oleh kelas pemilik, seperti Vendor atau Pembeli.

'Handler' biasanya merupakan fungsi tunggal yang dibungkus dengan suatu objek. Ini diperlukan saat pemrograman dalam bahasa lawas tanpa fungsi kelas satu.


Sementara saya juga tidak suka konsep 'Manajer', saya pikir alasan untuk tidak menangani logika bisnisnya sendiri adalah bahwa programmer ingin memisahkan kacang / pojo / dto dari operasi bisnis yang kompleks.
Sridhar Sarnobat

1
Meskipun saya setuju dengan Anda tentang Manajer dari sudut pandang agnostik bahasa, saya ingin menambahkan bahwa Manajer dapat menjadi istilah yang tepat untuk digunakan dalam beberapa kasus. Sebagai contoh, boleh saja berbicara tentang manajer dari sudut pandang protokol misalnya. Untuk SNMP Anda memiliki Manajer yang "mengelola" sekumpulan Agen. Ini adalah istilah yang tepat untuk digunakan dalam kasus ini. Namun ini membenarkan penggunaan "Manajer" secara spontan.
patrik

7

Walaupun jawaban saya tidak didasarkan pada definisi, saya melihat sesuatu yang diberi label sebagai "Pengendali" sebagai implementasi eksklusif versus "Handler" sebagai inklusif . Saya berharap untuk melihat hanya satu keberadaan "PurchaseController" dan beberapa versi yang mungkin dari "PurchaseHandler".

Saya pikir nama umum lain untuk Controller adalah "Broker" - yang sedikit mengubah perspektif tentang itu.


Terima kasih atas definisi ini. Anda telah memasukkan banyak pengetahuan dalam beberapa baris.
acearch
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.