In one of my previous posts I’ve told about my feelings for the repository pattern. Complaining about something is one thing (please, don’t even try to tell me, that you have never seen some piece of code, that made you cry like a baby), however, if we want to (pretend to) be professionalists, it is very important to come up with some ideas in order to solve the given problem (at least partially). In this post, I’ll present to you one of my solutions to the commonly misused repository pattern.
Architektura 3209 dni, 2 godziny, 22 minuty temu 133 źrodło rozwiń
W 30. odcinku DevTalka zagłębiamy się w… kontenery! I to nie takie znane z Dependency Injection. Chodzi o kontenery na zupełnie innym poziomie. Docker? Rings a bell? Moim Gościem jest Michał Dudak. Michał to trochę-więcej-niż-programista :). Może poczytać go na blogu i pooglądać w roli prelegenta na różnych konferencjach. Na Twitterze: @michaldudak. Nie ma co przedłużać, temat jest ciekawy, a materiału sporo! Enjoy! http://traffic.libsyn.com/devtalk/DevTalkE30-MichalDudak-Containers.mp3Zasubskrybu...
Architektura 3210 dni, 39 minut temu 89 źrodło rozwiń
Many of the programmers falls into the trap of creating too many unnecessary abstractions in code, that may introduce even more chaos and maintenance issues, instead of simplifying overall project structure and providing some real benefit. One of such abstractions, that have been discussed countless number of times, is the (one and only) repository pattern.
Architektura 3211 dni, 1 godzinę, 7 minut temu 238 źrodło rozwiń
Uwaga: wpis kontrowersyjny, czytanie grozi trwałym kalectwem umysłowym. Zdarza mi się w pracy i poza nią obmyślać różne architektury, projekty itd., na niższym czy to wyższym poziomie. Na różnych etapach, szczególnie projektowania, trzeba sobie pomóc jakoś ogarnąć całość.
Architektura 3261 dni, 2 godziny, 46 minut temu 170 źrodło rozwiń
Sprawa komunikowania klienta w usłudze WCF pracującej jako RESTful może nie być proste na pierwszy rzut oka, jednak chwila googlingu i sprawa okazała się banalna. Jak skonfigurować usługę WCF żeby działała jak RESTful? Nasz interfejs, oraz usługa wygląda mniej więcej tak: Interfejs: [ServiceContract] public interface Iv1 { [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = We...
Architektura 3315 dni, 7 godzin, 2 minuty temu 177 źrodło rozwiń
W tym wątku opiszę jak odpowiednio skonfigurować usługę WCF by uzyskać efekt RESTful API. Będziemy zwracać obiekty typu jSON/XML – co kto woli. Jeśli już utworzyłeś projekt WCF Service Application, możesz do niego dodać nową usługę lub skorzystać z dodanej domyślnie. Zmieniamy/dodajemy sekcję w Web.config Zwróć uwagę na sekcje service, servicebehaviors, endpointbehaviors – prawdopodobnie w tych miejscach musiałeś wprowadzi...
Architektura 3320 dni, 15 godzin, 27 minut temu 237 źrodło rozwiń
W 25 odcinku DevTalk wracamy do tematu architektury. Tym razem moim Gościem jest Szymon Kulec: programista, blogger, prelegent i jeden z liderów Warszawskiej Grupy .NET. Na Twitterze: @scooletz. Dyskutujemy o Event Driven Architecture. Z odcinka dowiecie się czym jest EDA, o jakich zdarzeniach mowa i jak z nich korzystać. Do tego: jak ma się do tego CQRS i Event Sourcing, na czym polega eventual consistency oraz jak obsługiwać/przetwarzać zdarzenia? I… oczywiście, wiele więcej :). Zapraszam do słuchania...
Architektura 3329 dni, 11 godzin, 2 minuty temu 206 źrodło rozwiń
W kilku poprzednich postach pisałem o tym jak powinna wyglądać czysta i przejrzysta architektura aplikacji. Kluczową rzeczą w takiej architekturze jest jednokierunkowy przepływ wywołań od kontrolera do prezentera. Kłopot z taką architekturą pojawia się, gdy mamy narzucaną architekturę w której naszym punktem wejścia do obsługi zdarzenia jest metoda, która musi zwrócić wynik poprzez return...
Architektura 3348 dni, 16 godzin, 14 minut temu 365 źrodło rozwiń
Dzisiaj technicznie-architektonicznie. Dwudziesty drugi odcinek DevTalka pod znakiem WIADOMOŚCI i KOMUNIKACJI stoi. Reflektor w te mgliste pojęcia kieruje Szymon Pobiega: programista/architekt, blogger, prelegent. Pracuje w Particular Software, gdzie klepie NServiceBusa dla Udiego Dahana (pamiętacie DevTalk#14 – CQRS with Udi Dahan?). Zatem: zdecydowanie wie o czym mówi! Z rozmowy dowiecie się czym tak naprawdę jest komunikacja i dlaczego warto sobie zawracać głowę jakimiś “wiadomościami” czy “kolejkami...
Architektura 3371 dni, 14 godzin, 26 minut temu 156 źrodło rozwiń
[EN] Offline Pessimistic Lock in Entity Framework (or any other ORM) | WellDesignedSoftwareException
It was always surprising to me that so few projects were started with data access concurrency in mind. I’ve heard many discussions about new fancy frameworks and UI controls the teams were about to use but possibility of concurrent access to users’ data didn’t appear to be a concern in their minds. Wen you think about it, it seems to be very logical. People have a natural tendency to avoid problems they haven’t encountered directly. There are so few people with attitude of challenging o...
Architektura 3373 dni, 16 godzin, 14 minut temu 104 źrodło rozwiń
This is the second one of two posts concerning approach to build cost effective, but prepared for scaling, systems using ASP.NET Web API and Azure.
Architektura 3377 dni, 4 godziny, 31 minut temu 175 źrodło rozwiń
Wakacje, wakacje i po wakacjach. I bardzo dobrze, ile można, c’nie? Po wakacyjnej przerwie powracamy, zamaszyście, pomału i usłużnie. Ale suchy rebus! Mału -> mikru -> mikro. Usłużnie -> serwisowo -> service. Czyli: po wakacyjnej przerwie powracamy, zamaszyście, z mikroserwisami! Towarzyszy mi Michał Franc, który z dalekiego jUKeja wskoczył mi na Skype’a. Michał bloguje na http://www.mfranc.com, przemawia oraz jest jednym z organizatorów konferencji dotnetconf.pl. Na Twitterze możecie go stalkować pod @...
Architektura 3385 dni, 12 godzin, 14 minut temu 245 źrodło rozwiń
This is the first one of two posts concerning approach to build cost effective, but prepared for scaling systems, using ASP.NET Web API and Azure. In the era of building systems that aim to provide services at global scale, requirements for scalability and high availability are becoming our bread and butter. What is more, it is absolutely normal that stakeholders want first shippable version of software as soon as possible.
Architektura 3391 dni, 15 godzin, 41 minut temu 170 źrodło rozwiń
In this post we’ll focus on security. We’ll try to prove that claims base authentication is safe. As we remember SAML tokens are issued by “trusted” STS. But what exactly does “trusted” issuer mean? In this post, we’ll try to find definition of “trusted issuer”, a list of attributes which decide that issuer is trusted.
Architektura 3396 dni, 17 godzin, 58 minut temu 104 źrodło rozwiń
To już jest… jeszcze nie koniec, ale prawie!, pierwszego, dziewiczego sezonu DevTalk. W poszukiwaniu własnej tożsamości natrafiłem na… eksperta w tej dziedzinie. Ale w kontekście IT, oczywiście. Dzisiaj przed Wami Tomasz Onyszko. Architekt, od zawsze w branży ;), niezmiennie związany z kwestiami zarządzania tożsamością w sieci. Oprócz tego pisze na firmowym blogu Predica i regularnie gości na grupach pasjonackich oraz krajowych i światowych konferencjach. Od lat “nosiciel” tytułu Microsoft MVP. Na Twitt...
Architektura 3467 dni, 16 godzin, 39 minut temu 124 źrodło rozwiń
In this article we focus on sample service based on WCF (Windows Communication Foundation), as we will only try to build sample service with claims-based authentication and authorization. All technical aspects connected with security e.g. configuration, certificates, encryption, signature or CRL will be described in details in the next posts.
Architektura 3467 dni, 16 godzin, 39 minut temu 146 źrodło rozwiń
In the previous article basic information about authentication and authorization process on .Net has been presented. Security Token Service is an integral part of claim based approach. As we remember from the previous article, STS is responsible for handling user’s requests and creating tokens; it can also work in two modes: active and passive. In this article we focus on Active STS, as we will only try to build sample STS.
Architektura 3502 dni, 4 godziny, 2 minuty temu 167 źrodło rozwiń
W ASP.NET w końcu !!! w końcu !!! nie ma pliku csproj! Czy tam vbproj czy nawet SLN… Ja! :) no fajnie nie? :) Teraz wszystko działa wokół project.json file, który jest definicją naszego projektu jak i! definicją paczki nuget. Czyli jak się domyślacie referencje teraz pomiędzy projektami to referencje za pomocą paczek nuget…
Architektura 3514 dni, 17 godzin, 3 minuty temu 148 źrodło rozwiń
Dobra build trwa, ale i pewne rzeczy zostały już jakoś „ustabilizowane”, może warto o kilka prostych informacji co i jak :) Skarbnicą wiedzy teraz jest repozytorium Home ASPNET na Github. Tutaj znajdziecie informacje jak zainstalować DNVM (.NET Version Manager) na różnych platformach i jakie ekstra kroki są wymagane w zależności od środowiska (Linux, na macu za bardzo nie ma).
Architektura 3514 dni, 17 godzin, 3 minuty temu 102 źrodło rozwiń
Kestrel to serwer webowy umożliwiający hostowanie aplikacji .NET na różnych środowiskach w tym Linux i Mac._ Pamiętacie komendy z poprzedniego postu? Jeżeli chcemy hostować aplikację webową (której jeszcze nie mamy i pewnie w tym poście też jej mieć nie będziemy ;)) na wszystkich możliwych platformach to musimy lekko zmodyfikować nasz projekt dodając odpowiednie zależności i tworząc nową komendę. Komenda ta będzie p...
Architektura 3514 dni, 17 godzin, 3 minuty temu 95 źrodło rozwiń