Chciałem to wyjaśnić.Jaka jest wielka idea implementacji AOP?
Przeczytałem o koncepcji AOP i zrozumiałem, że to świetny sposób na dzielenie się usługami przekrojowymi. (rejestrowanie, bezpieczeństwo, transakcja ...)
Ale chciałbym powiedzieć/zapytać o coś takiego i jego wdrożenie.
Przeczytałem, że istnieją pewne sposoby, takie jak AspectJ, JBOSS AOP w celu asymilacji AOP do mojej logiki biznesowej.
ale nie było to już dawno temu?
powiedzmy na przykład chcę podzielić implementacja rejestrowania lub bezpieczeństwa amongs moje składniki (fasola Java, EJB, cokolwiek ..)
Dlaczego nie mogę dokonać fasola Singleton upewniając się, że tak jest tylko jeden instancja i jak tylko każdy komponent będzie potrzebował jego usługi logowania/bezpieczeństwa, wyszuka i użyje swojej usługi.
Dlaczego muszę rozumieć i mieć wszystkie te "duże" implementacje, takie jak aspektj lub jboss AOP? Czego tu brakuje?
Co się stanie, jeśli stworzę klasę nadrzędną i rozszerzę, jeśli moje klasy się przed nią rozciągną. Mogę umieścić całą moją logikę "permentu" w tej klasie rodziców. kiedy klasa go rozszerzy, będzie mogła cieszyć się wszystkimi loggig/secutiry ... metodami, które wcześniej zadeklarowałem. Mogę również tworzyć dodatkowe metody "twórz"/"niszcz" dla loggigowania i takie .. – rayman
@rayman: ale musisz jeszcze ** wywołać ** te metody jawnie (patrz świetny przykład kodu * JB Nizet *). AOP zrobi to za Ciebie, gdy zostaniesz poinstruowany, także za kod, którego jeszcze nie napisałeś! Oznacza to również, że nowi programiści będą korzystać z funkcji logowania/bezpieczeństwa, nawet o tym nie wiedząc.Nie wspominając już o tym, że nie zaśmiecasz swojego kodu klasami podstawowymi/metodami pomocniczymi. –
Mybe możesz sprawdzić mój ostatni komentarz do JB. – rayman