İşleyici, Yönetici ve Denetleyici arasındaki fark


21

"Handler", "Manager" veya "Controller" sınıflarını adlandırmak arasında bir fark var mı? IE: PurchaseManager, PurchaseHandler, PurchaseController.

Bu yeterlilikler aynı anlamı taşıyor mu veya aralarında net bir fark var mı?

Dilden bağımsız bir yanıt yoksa, Java'yı dil olarak düşünün.


1
Burada daha fazla bağlam yardımcı olacaktır. Birçok (birçok!) Çerçeve, ayrımların oldukça net tanımlarına sahiptir. Ancak, bu kelimelerin arkasında evrensel bir tanım yoktur. Hangi bağlamda çalışıyorsunuz? Hangi çerçeveyi kullanıyorsunuz? Hangi dili kullanıyorsun
S.Lott

Netleştirilmiş dil.
hpique

Yanıtlar:


15

Genellikle bir 'Denetleyici' bir kullanıcı arabirimi bileşeni ile bir model (örn. Satın Alma) arasındaki arabirimdir. Denetleyiciler, kullanıcı arabirimi olaylarını model işlevleriyle eşlemekten biraz daha fazlasını yaparak ince sınıflar olmalıdır.

'Yönetici' bir kod kokusudur. Satın alma işlemi kendi kendini yönetmeli veya Satıcı veya Alıcı gibi bir sahiplik sınıfı tarafından yönetilebilir.

'İşleyici' genellikle bir nesneye sarılmış tek bir işlevdir. Bunlar, birinci sınıf işlevleri olmayan eski dillerde programlanırken gereklidir.


Ben de bir 'Yönetici' kavramını sevmiyorum, ancak kendi iş mantığını işlememesinin mantığının, programcının bir fasulye / pojo / dto'yu karmaşık iş operasyonlarından ayırmak istemesi olduğunu düşünüyorum.
Sridhar Sarnobat

1
Dil konusunda agnostik açıdan Yönetici ile hemfikir olduğum halde, bir Yöneticinin bazı durumlarda kullanmak için doğru terim olabileceğini eklemek isterim. Örneğin, örneğin bir protokol açısından yöneticilerden söz etmek iyidir. SNMP için bir dizi Aracıyı "yöneten" bir Yöneticiniz var . Bu, bu durumda kullanılacak doğru terimdir. Ancak bu, "Yönetici" nin kendiliğinden kullanımını haklı çıkarmaktadır.
patrik

7

Cevabım tanımına dayalı değil, ben bir şekilde bir "Kontrolör" olarak etiketlenmiş bir şey görmek münhasır olarak "Handler" karşı uygulanması dahil . Ben sadece bir "PurchaseController" varlığını ve bir "PurchaseHandler" birden çok olası sürümlerini görmek için beklenir.

Controller için başka bir ortak adın da "Broker" olduğunu düşünüyorum - bu da bakış açısını biraz değiştiriyor.


Bu tanımlar için teşekkürler. Birkaç satırda çok fazla bilgi girdiniz.
acearch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.