Wiele mówi się o dobrych praktykach tworzenia kodu, używaniu wzorców projektowych i innych zmyślnych rozwiązań. W praktyce nie jest jednak tak kolorowo. Często terminy gonią, w kodzie pojawiają się klasy, których liczba linii liczona jest w setkach, a pośród nich znaleźć można wiele bezmyślnych powtórzeń oraz niepraktycznych interfejsów. Ale przecież obiecaliśmy sobie, że kiedyś to zmienimy, prawda?
Architektura 2679 dni, 6 godzin, 6 minut temu 674 źrodło rozwiń
TL;DR 1. Define events in the system Define sources (commands, process managers) and actors Group commands around aggregates Implement… Post-it, long piece of paper and people…Let’s play Generally speaking „event storming” is about extracting domain from events which describe it. In most of the complex domains there are events that represent important changes in the state of our domain, simply begin with them. We’ll need the following things:Unlimited modelling space – sounds impossibl...
Architektura 2682 dni, 13 godzin, 53 minuty temu 195 źrodło rozwiń
Od jakiegoś czasu wzorzec “microservices” jest popularny w wielu firmach. Szczegółowe informacje znajdują się na blogu Martin’a Fowler’a, aczkolwiek na blogu chciałbym naszkicować koncepcję. Pomysł nie jest nowy, jednak pewne usystematyzowanie moim zdaniem ma sens. Dla mnie osobiście, to nic innego jak przestrzeganie zasady “Single rensponsibility” na poziomie usług. Wzorzec ma zastosowanie w systemach złożonych, SOA, a nie w prostych aplikacjach klient-serwer. Skrajnie zła sytuacja, to taka, w które...
Architektura 2687 dni, 11 godzin, 59 minut temu 670 źrodło rozwiń
Microsoft is a massive software corporation, and like all other corporations, they’re in business to make money. Duh, right? Unfortunately, this is probably the #1 reason for all the ASP.NET hate: it’s a Microsoft technology, and the “evil” taint still lingers over the giant in many people’s minds. I’ve always found this interesting because the other major technology companies, such as Google and Apple, are just as “evil” as Microsoft, but the zealots fans of those other companies typically turn a blind ...
Architektura 2692 dni, 4 godziny, 59 minut temu 299 źrodło rozwiń
Dzisiaj ABC, ale chyba warte przypomnienia. Wprowadzony w .NET 3.0 Initializer syntax jest bardzo wygodny. Pozwala skrócić zapis i spowodować, że kod jest trochę czytelniejszy. Jednak coraz częściej mam wrażenie, że przez niego programiści .NET zapomnieli o konstruktorach.
Architektura 2696 dni, 9 godzin, 29 minut temu 484 źrodło rozwiń
Architektura 2708 dni, 12 godzin, 21 minut temu 201 źrodło rozwiń
Authentication and Authorization Authentication and authorization are two closely related concepts, which are used to build security mechanism in systems and applications. Information security is the practice of protecting information from unauthorized access, use or even modification. Confidentiality, integrity and availability (known as CIA triad) is a model designed to guide policies of information security within an organization. In this article we are focusing on confidentiality, which refers to re...
Architektura 2708 dni, 12 godzin, 21 minut temu 125 źrodło rozwiń
Ten post jest pierwszym z cyklu poświęconego architekturze systemów informatycznych. Zaczynamy od wyjaśnienia pojęć logiki biznesowej i logiki aplikacji na przykładzie małej aplikacji ASP.NET MVC. Więcej na temat MVC w kolejnym artykule. Już teraz zapraszam. Uczestnicząc w dyskusjach zarówno w życiu zawodowym jak i wirtualnym spotykam się z myleniem wymienionych w tytule artykułu pojęć, bądź używaniem ich zamiennie...
Architektura 2800 dni, 7 godzin, 38 minut temu 871 źrodło rozwiń
Simple backend system based on the Command Design Pattern where each command has own independent scope.
Architektura 2845 dni, 14 godzin, 12 minut temu 312 źrodło rozwiń
Dzisiejszy wpis będzie dotyczył oczywistej oczywistości. Ale czy na pewno? Zostałem kiedyś zapytany na jednej z pierwszych rozmów o pracę, żeby wymienić jak najwięcej zdarzeń związanych z cyklem życia strony. Pierwszymi (i niestety jedynymi)...
Architektura 2883 dni, 6 godzin, 6 minut temu 880 źrodło rozwiń
Skomplikowane aplikacje mogą wymagać skomplikowanego kodu. Jeżeli jego złożoność wynika ze złożoności modelowanego problemu to wszystko jest ok. Gorzej, jeżeli złożoność kodu wynika ze… złożoności kodu. W takim przypadku mówimy o złożoności przypadkowej.
Architektura 2904 dni, 15 godzin, 5 minut temu 310 źrodło rozwiń
Jak zdefiniować rozwój zawodowy? Rozwój zawodowy to proces zwiększania zakresu swojej wiedzy w czasie. Niby dobrze, ale jak to rozumieć? Może najprościej jak się da: każdego dnia uczymy się X nowych metod ( z danej klasy Frameworka etc.). I jeśli mówimy o początkach kariery zawodowej to jest to z pewnością prawda. Tylko, że jeśli z biegiem czasu dalej będziemy tak rozumieć rozwój to chyba coś z nami jest nie do końca w porządku. Chociaż to za dużo powiedziane. Może lepiej zabrzmi, że taka ścieżka r...
Architektura 2911 dni, 13 godzin, 20 minut temu 563 źrodło rozwiń
Nigdy nie podobały mi się te magic stringi przy wywoływaniu PropertyChanged okazuje się że innym też nie
Architektura 2961 dni, 1 godzinę, 24 minuty temu 232 źrodło rozwiń
Zgodnie z powiedzeniem "im mniej wiesz, tym lepiej śpisz", postanowiłem napisać krótką notkę o tym, jak ukryć HelpPage w usłudze WCF. Warto wspomnieć na początku, że sporo się naszukałem w Google, żeby dowiedzieć się, że ta strona nazywa się HelpPage :- D Dla niewiedzących, mam na myśli to: Po wyłączeniu HelpPage'u, pozostaje nam ukryć WSDL. Jeśli tak jak w tym przypadku nasza usługa nie działa jako SOAP, możemy sobie pozwolić na ukrycie WSDL. Programistom piszącym aplikacje klienckie, będzie i tak ci...
Architektura 2969 dni, 14 godzin, 18 minut temu 117 ź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 = WebMessageFormat.Json, UriTemplate = "user/{id}")] User g...
Architektura 2976 dni, 8 godzin, 1 minutę temu 114 ź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ć zmiany. Mając gotowy Web.config, pokażę prosty przykład, jak pisać metody...
Architektura 2985 dni, 11 godzin, 13 minut temu 234 źrodło rozwiń
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 2990 dni, 23 godziny, 42 minuty temu 329 ź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 3016 dni, 15 godzin, 51 minut temu 119 ź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 3022 dni, 15 godzin, 39 minut temu 164 ź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 3070 dni, 39 minut temu 354 źrodło rozwiń