Ostatnio zacząłem myśleć, że posiadanie wielu klas menedżerskich w twoim projekcie jest złe. Pomysł nie jest wystarczająco dojrzały, aby przedstawić przekonujący argument, ale oto kilka ogólnych kwestii:
Odkryłem, że dużo trudniej mi zrozumieć systemy, które w dużym stopniu opierają się na „menedżerach”. Wynika to z faktu, że oprócz rzeczywistych składników programu należy również zrozumieć, w jaki sposób i dlaczego używany jest menedżer.
Menedżerowie często wydają się być wykorzystywani do łagodzenia problemu z projektem, na przykład gdy programista nie mógł znaleźć sposobu na uczynienie programu Just Work TM i musiał polegać na klasach menedżerów, aby wszystko działało poprawnie.
Oczywiście menedżerowie mogą być dobrzy. Oczywistym przykładem jest EventManager
jedna z moich ulubionych konstrukcji. : P Chodzi mi o to, że menedżerowie wydają się być nadużywani przez większość czasu i nie bez innego powodu niż maskowanie problemu z architekturą programu.
Czy klasy menedżerskie są naprawdę oznaką złej architektury?
EventManager
to okropne imię dla klasy. Pozornie robi coś ze zdarzeniami, ale co ?
Of course, mangers can be good. An obvious example is an EventManager
to wszystko wyjaśnia. Niewłaściwe użycie tej koncepcji to zła architektura, ale istnieją uzasadnione przypadki użycia. To samo dotyczy większości czegokolwiek.