Atrybuty autoryzacji. Sporo czasu spędzam ostatnio przy systematyzacji procesu autoryzacji w aplikacji mvc. Plan jest taki, aby każda metoda była zabezpieczona, a dostęp był zweryfikowany rolą, którą ma zalogowany użytkownik. Jak to zrobić? Z pomocą przychodzą atrybuty, ja wykorzystałem dwa (te same, ale dwa) Atrybuty jako AOP Atrybuty służą do tego aby zdefiniować kod, który powinien się wykonać przed wykonaniem metody która została oznaczoną danym atrybutem. ...
Today we are going to have a little break from our CQRS/ES journey, but I hope you’ll like that article anyway. Meet Aspect-Oriented Programming! An approach that’s going to change the way of writing our code and more importantly will help us to keep it clean and simple (in most cases). The idea Writing the code we can often observe that the certain group of the non-business functionalities is copied in many areas, and moreover, it affects other parts of our system. Here we can include: creating datab...
Sztuka programowania 3023 dni, 4 godziny, 23 minuty temu 168 źrodło rozwiń
Kolejny post o Unity 3d musi jeszcze chwilę poczekać. Niedawno zdobyłem nową dev-zabawkę (ekhm!) a mianowicie licencję na PostSharp. Gdyby ktoś nie wiedział – jest to narzędzie do programowania w stylu AOP – aspektowym spojrzeniu świata. Czym są aspekty nie będę pisał – można znaleźć na ten temat sporo informacji. Z lokalnego podwórka polecam DevTalk 02 czy tagi AOP lub PostSharp na dotnetomaniak.pl.Unboxing Samo narzędzie instaluje się bezproblemowo oraz fajnie się integruje z Visual Studio...
Założenie: Chcemy mieć możliwie wysoką zgodność z SOLID + Depedency Injection Problem: Piszemy implementację, która zawiera jakieś zasoby i musi je zwalniać (czyli implementacja IDisposable) Omawiane zasoby są bardzo obciążające i nie chcemy je jak najszybciej zwalniać Nie chcemy mieć interfejsu dziedziczącego po IDisposable, bo najczęściej jest to Leaky Abstraction
Sztuka programowania 3672 dni, 23 godziny, 35 minut temu 293 źrodło rozwiń
O programowaniu aspektowym kiedyś już pisałem więc jeśli od strony teoretycznej nie jest to jasne to zachęcam do poszperania na blogu. Dzisiaj zaprezentuje framework Postsharp w wersji express (darmowa edycja, również do zastosowań komercyjnych). Jak wiemy, obsługa wątków czy wykonanie logów mogą być problemami cross-cutting. Postsharp jest typowym framework’iem implementującym AoP Zaczynamy od instalacji z NuGet: Pomimo, że Postsharp express jest w pełni darmowy, musimy zarejestrować się i uzyskać...
Sztuka programowania 4143 dni, 16 godzin, 45 minut temu 221 źrodło rozwiń
Policy Injection Application Block w skrócie to biblioteka pozwalająca na wstrzyknięcie kodu opakowującego wywołania metod. Dzięki temu za pomocą jednego atrybutu lub odpowiedniego wpisu w pliku konfiguracyjnym, możemy "nakazać", aby np. czas wykonania metody był mierzony i logowany. Oczywiście, różnych takich zastosowań możemy wyobrazić sobie bardzo wiele. Tyleż samo widać korzyści z zastosowania tego podejścia. Programowanie aspektowe (inaczej AOP - aspect or...