Jak można było dowiedzieć się z moich ostatnich postów społecznościowo-konferencyjnych (jeden, drugi, trzeci), miałem ostatnio prezentacje na temat Dependency Injection. Dość dziwne jest to o tyle, że na ten temat nie blogowałem właściwie od czterech lat. Pora zaległości nadrobić:). Pojawiły się za to treści gdzieś indziej. Po jednym z moich występów Basia podjęła temat. Po jej poście Paskol też coś naskrobał. A i w polskiej-anglo...
Architektura 3855 dni, 1 godzinę, 15 minut temu 331 źrodło rozwiń
Software Architecture: design and documentation In my previous article I tried to present the role of the application architect on a general level. Today I’d like to focus on his specific aspects of his work, without which the term “architect” wouldn’t make any sense.Design and documentation A common image of architect’s work, consisting in drawing and describing blocks, puts two activities of design and documentation in one pot. Meanwhile, these are two independent activities. To explain why I...
Architektura 3880 dni, 17 godzin, 24 minuty temu 122 źrodło rozwiń
Role of the Application Architect “Architect” is one of the buzzword, sometimes used just to name an important person working in the software development department. In other cases, we will call this way the only people who understand how given software works. For some people it will be another level of software developers’ career ladder. Sometimes word ‘architect’ describes a person who draws lines and rectangles on whiteboards. All in all, most of us saying “architect” does not actually know,...
Architektura 3886 dni, 17 godzin, 13 minut temu 166 źrodło rozwiń
Spodobała mi się sama nazwa „Onion Architecture” jak i to co pod tą nazwą przedstawił Jeffrey Palermo. Niby zasady znane od dawna, a jednak zostały one umiejętnie pokazane na nowo. Niestety na sieci ciężko znaleźć szkielet przykładowej aplikacji, która spełniała by podstawowe założenia. W związku z tym na szybko zmontowałem takowy.
Architektura 3934 dni, 2 godziny, 13 minut temu 358 źrodło rozwiń
W sieci można znaleźć mnóstwo przykładów w jaki sposób projektować aplikację. Tyle samo, albo i więcej, jest pytań programistów. Jedni szukają wiedzy, bo dopiero wchodzą w ten fascynujący świat. Inni szukają tylko potwierdzenia czy własne pomysły się sprawdzą. Sam nie raz szukałem odpowiedzi na pytanie czy moja koncepcja jest już przez kogoś gdzieś użyta. Jeśli znalazłem rozwiązanie, które było podobnie zrealizo...
Architektura 3940 dni, 3 godziny, 2 minuty temu 312 źrodło rozwiń
Main menuMain pageAboutContact Share article via: From time to time there is a need of having a container to store different types objects. Of course there are KeyValuePairs, or some custom generic solutions, but managing the keys and values can be complicated or even over-complicated in some cases, and creating your own generic data structure can take some time, and bring additional code in the project. And here, there comes the concept of Tuple. Tuple has been introduced by Microsoft...
Architektura 3951 dni, 11 godzin, 12 minut temu 240 źrodło rozwiń
… parafrazując słowa Bena Parkera, wujka Spidermana (wiem, że dla niektórych to żenada tego nie wiedzieć, lecz mimo to wyjaśniam)… Temat wyszedł z moich refleksji o architekturze oprogramowania, więc postanowiłam zrobić z niego prezentację, którą przedstawiłam po raz pierwszy w Białymstoku na grupie .Net. Wiele wątków, które tu umieszczę pochodzi od słuchaczy, post będzie więc kumulacją naszych wspólnych przemyśleń. O co więc chodzi z tą władzą i odpowiedzialnością? Zacznę od tego, że każdy z nasz deve...
Architektura 3966 dni, 7 godzin, 57 minut temu 242 źrodło rozwiń
Praktycznie każdy jako-tako przemyślany system z jaką-taką architekturą zawiera “klasy z logiką”. Przez “jako-tako przemyślaną architekturę” rozumiem fakt, że cała logika nie siedzi bezpośrednio w kontrolerach czy innym tego typu bycie, a w dedykowanych… “miejscach”.
Architektura 3966 dni, 7 godzin, 57 minut temu 307 źrodło rozwiń
Leave a comment There are some materials on the Web concerning the fact that role-based authentication is probably not the best option while implementing system security infrastructure. I find this blog post quite exhaustive: http://lostechies.com/derickbailey/2011/05/24/dont-do-role-based-authorization-checks-do-activity-based-checks/. So basically you need a component which determines whether user X is authorized to perform action Y. But that is the simplest case scenario. Probably, in practice you n...
Architektura 4070 dni, 11 godzin, 16 minut temu 83 źrodło rozwiń
by MJ Decorator is a design pattern used to dynamically ”decorate” (e.g. add new actions) another classes. Let’s say that you have class which describes Window. It can be opened or closed. Then, you decide to decorate it with curtains or to clean it – you will do it yourself or hire somebody, who will be a decorator. Let’s create a simple project: 1) First of all, you need to add “Decorator” folder. Inside of this folder please create Window.cs class which will describe our window in the real world...
Architektura 4083 dni, 9 godzin, 24 minuty temu 168 źrodło rozwiń
by MJ Prototype design pattern. You should use it whenever you need to clone model classes. A simple example is when you have 1000 clients and you need to provide them invoices. Then, you only need to change e,g, names, surnames and total amount – you don’t need to create another invoice from the beginning. Again, the same situation is when your class is a parent for other classes – in this situation, it is not easy to create new – you should clone existing instance and then try to modify it. Here is a...
Architektura 4083 dni, 16 godzin, 13 minut temu 122 źrodło rozwiń
by MJ Facade is one of design patterns which are used most frequently. To explain what it is and how to use it, we can compare it to a black box. In black box test, tester is only allowed to create the input and get the output. He doesn’t know anything about processing inside of the system. You will meet similar situation in Facade – you don’t want to show out the whole functionality, you need to create some kind of interface which enables user to use the functonality, but he cannot look into the syste...
Architektura 4088 dni, 4 godziny, 56 minut temu 179 źrodło rozwiń
Wpis ma na celu przybliżyć różnice pomiędzy najbardziej popularnymi architektonicznymi wzrocami projektowymi.
Architektura 4098 dni, 7 godzin, 32 minuty temu 1016 źrodło rozwiń
Niezwykle udana nocka przy migracji PlaceChallenge z EF 4 na 5 zaowocowała porannym uderzeniem jak grom z jasnego nieba… w postaci HRESULT 2146233079.return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction
Architektura 4133 dni, 17 godzin, 30 minut temu 188 źrodło rozwiń
Dzisiaj temat z natury “ciekawy świata” I od razu idziemy do Visual Studio. Jako przykładny architekt jednego z moich rozwiązań postanowiłem swego czasu zrobić upgrade (używając systemu do aktualizacji wersji NuGET) Entity Framework do stabilnej wersji 5.0. Klik tu, klik tam I mam wersję 5.0. Ucieszony sobie programuje I niczym się nie przejmuje, aż tu nagle… nie wiem dlaczego pokusiło mnie by zobaczyć jaką mam wersję Entity Framework w referencjach I co się okazuje…. że 4.4! Problem w tym, że wersja...
Architektura 4140 dni, 17 godzin, 26 minut temu 191 źrodło rozwiń
A to niespodzianka…serwery w chmurze czasu nie liczą – czyżby były tak szczęśliwe? Wracając do meritum sprawy…jeżeli macie kilka…dziesiąt serwerów w Azure, które robią coś razem zauważycie mały problem… niezgodność czasu. W przypadku serwerów jakie mamy w projekcie PlaceChallenge, to było od 2 do 47 sekund – powiedziałbym, że dość dużo. Po rozmowie z miłym Panem z Indii wiadomo co jest problemem… problem to Hyper-V, który hostuję te maszyny. Hyper-V (wirtualizator) ma problem z odpowiednim synchro...
Architektura 4166 dni, 11 godzin, 14 minut temu 127 źrodło rozwiń
Wczoraj był dniem kiedy miałem nadzieje, w końcu zakończyć kodowanie jednego z wrapperów na Azure SDK, który miał zarządzać usługami, które aktualnie buduje. Mam taki dziwny zwyczaj, że jak zastępuje czyjś kod (tu: Microsoft) to sprawdzam najpierw jak podeszli do tematu by nie powtórzyć czegoś co mi się nie podobało w poprzedniej implementacji lub/i nauczyć się czegoś ciekawego by dołączyć to do mojej nowej implementacji. Tak też było i tym razem: znajduję w kodzie jednej z bibliotek taki oto kod:Thread...
Architektura 4167 dni, 12 godzin, 12 minut temu 162 źrodło rozwiń
Dobry programista to ten, który w swoim codziennym programowaniu, nie , ale tworzy aplikacje zbudowane w oparciu o wszelkiej maści biblioteki i wzorce projektowe. Już kilka razy na tym blogu powtarzałem, że nie warto tworzyć koła od nowa, a niektórzy idą nawet dalej nazywając odtwórcze programowanie okradaniem własnych szefów - w pewnym sensie chyba coś w tym jest. W dzisiejszej odsłonie bibliotek wartych poznania, mam więc coś ciekawego, co w pewnym sensie powinno przerwać pewną programistyczną rutynę....
Architektura 4190 dni, 17 godzin, 31 minut temu 333 źrodło rozwiń
When we use the Entity Framework (EF) in multilayer information systems sometimes we want to extend classes generated by EF by adding some common properties or functions. Such operation cant be conduct on *.edmx data model so we need to make some improvement in our solution. Lets begin... Lets assumed that in our soulution we have only three layer (three project):Client console application which has reference to the second layer - 'ConsoleApplication' project nameClass library project with class i...
Architektura 4196 dni, 16 godzin, 32 minuty temu 74 źrodło rozwiń
Kiedy wprowadza się reguły? Zazwyczaj wówczas, kiedy zjawiska zachodzące w danym środowisku zaczynają wymykać się spod kontroli. Weźmy np. pojazd komunikacji miejskiej. Jeżeli jest on praktycznie pusty, to można z niego wysiadać w tym samym momencie, w którym ktoś chce wsiąść – ta garstka pasażerów wyminie się w drzwiach w sposób intuicyjny. Jeśli jednak liczba wysiadających jak i wsiadających zwiększy się, to konieczna będzie już jakaś regulacja – np. ...
Architektura 4211 dni, 7 godzin, 38 minut temu 105 źrodło rozwiń