devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

DevTalk#02 – O aspektach z Basią Fusińską


03.11.2014

BasiaGościem drugiego odcinka DevTalk jest Basia Fusińska – programistka, “architektka”, menadżerka, trenerka…

Rozmawiamy głównie o AOP – Aspect Oriented Programming – programowaniu aspektowym. Basia opowiada o swoich bojach na tym polu i przedstawia dostępne techniki oraz narzędzia przydatne dla adeptów tej sztuki. Udowadnia też, że i TY używasz aspektów!

Uwaga: dzięki uprzejmości producenta narzędzia PostSharp – do wygrania licencja na PostSharp Ultimate o wartości 749$! Szczegóły w odcinku i na stronie http://devtalk.pl/konkurs-na-logo/.

Uwaga 2: ten (i “hopefully” kolejne też) odcinek został nagrany na profesjonalnym sprzęcie (mikrofon + mixer) użyczonym przez Roberta, właściciela firmy Ultrico. Dzięki!

Uwaga 3: wszelkie uwagi – czy to do technikaliów, czy do merytoryki – bardzo mile widziane, zostawiajcie komentarze! :)


Montaż odcinka: Krzysztof Śmigiel.
Ważne adresy:

Linki do materiałów omawianych w odcinku:

PostSharp

Ultrico


Muzyka wykorzystana w intro:
“Misuse” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0/

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Notify of
Grzegorz Kotfis
Grzegorz Kotfis

Dobra realizacja, świetny temat i gość :) Jedyne czego mi zabrakło to po skończonej rozmowie z gościem takiego podsumowania odcinka z twojej strony, może jakiejś małej zapowiedzi co w następnym, takiego swoistego rozstania się ze słuchaczami. Zmieniłbym bym także jingla na ogłoszenia ;)

Pozdrawiam i do usłyszenia!

Rafał
Rafał

Profesjonalnie!

Nie wiem, czy to zasługa tych specjalistycznych mikrofonów i mikserów… Ale macie piękne głosy! :)

Piotr Perak

Ja również nie widzę za bardzo zastosowań dla PostSharp. Zwłaszcza jeżeli kosztuje tyle ile kosztuje :) Można by się zastanowić nad użyciem tego, ale za darmo. Rzeczy, które daje i są naprawdę użyteczne, można mieć za darmo z wykorzystaniem kontenera.

Nie zgodzę się też ze słowami Twojego gościa co do minusów wykorzystania kontenerów do implementacji aspektów. W PostSharp też nie dodaje się atrybutu do każdej z metod każdej z klas (to byłoby straszne), żeby np. dodać logowanie. Również robi się to globalnie, czyli również “nie widać tego” i można o tym zapomnieć.

Nie rozumiem również jak dekoratory łamią SRP?

Zboku
Zboku

Dorzucę swoich 50 centów. Dużą krzywdę robi się AOP a bardziej AOSD (aspect-oriented software development) mówiąc że nie jest do umieszczania reguł/logiki biznesowych. Skupiliście się na konkretnym sposobie implementacji AOP (wstrzykiwanie, weaving itd konkretnych rozwiązaniach) a nie na samej idei AOSD. AOP nie jest ograniczony tylko do infrastruktury, problemów technicznych a cross cutting concerns nie oznacza tylko technicznych aspektów jest to moim zdaniem zbyt dużym uogólnieniem. Czasem logowanie zdarzeń może być wymaganiem funkcjonalnym a same wymagania niefunkcjonalne mogą składać się z funkcjonalnych. CCC mogą być również reguły biznesowe, przecinające wiele domen (core concern). Chyba wszyscy się zgodzimy że ‘Concerns’ jako… Read more »

Basia

Piotr,

Jasne, ze za pomoca PostSharp mozesz aspekty dodac globalnie. Ale… po pierwsze masz rowniez mozliwosc okreslenia za pomoca atrybutow konkretnych metod. A po drugie, gdy uzywasz kontenera (a przynajmniej Autofac z wtyczka Castle.Windsor, ktorego uzywam w swoim demo), dodaje on aspekt do _kazdej_ metody klasy do ktorej uzywam interceptora.

TeoVincent

To, jak testować, to co kod aspektu robi (Testing the advice) w przypadku tkania bibliotek za pomocą narzędzi takich jak Fody, można podejrzeć w projekcie https://github.com/Fody/BasicFodyAddin, w którym napisany jest przykład budowania paczki NuGet, ale przy okazji tam też jest napisany test jednostkowy. W skrócie, nowe, utkane assembly zasysane jest do testów jednostkowych. Tutaj nabazgrałem kilka własnych linijek bazując na tym projekcie: http://teo-vincent.blogspot.com/2014/11/unit-tests-advice-aspect-oriented.html.

Artur
Artur

1. Dobrze, że na końcu jest rochę Twojego zdania na temat AOP (już myslałem, że go nie wyrazisz)
2. Rozwiń myśl “WCF przeklęty”. Rozważam wpakowanie się w WCF w projekcie “na lata” i na razie nie wiem co mi grozi.

trackback

[…] pisał – można znaleźć na ten temat sporo informacji. Z lokalnego podwórka polecam DevTalk 02 czy tagi AOP lub PostSharp na […]

Moja książka

Facebook

Zobacz również