Memoization is a simple programming pattern that can be useful for quick code optimization. It makes sure that the function logic is called only once and then remembered result is returned. Read more and see practical samples in my latest article.
Sztuka programowania 1325 dni, 4 godziny, 46 minut temu 103 źrodło rozwiń
Pierwszy z tej serii wpis będzie zawierał wprowadzenie do wzorców, jak i opis mojego ulubionego wzorca o wspaniałej nazwie Dekorator. Wzorce projektowe to uniwersalny sposób na rozwiązanie powtarzalnego problemu. Dekorator pozwala na dynamiczne przydzielenie danemu obiektowi nowych zachowań.
Sztuka programowania 1503 dni, 3 godziny, 52 minuty temu 165 źrodło rozwiń
GRASP. Explanation of fundamental Object-Oriented Design General Responsibility Assignment Software Patterns (or Principles).
Architektura 2083 dni, 5 godzin, 32 minuty temu 85 źrodło rozwiń
The Outbox Pattern implementation.
Architektura 2110 dni, 4 godziny, 45 minut temu 154 źrodło rozwiń
Implementacja Cache-Aside Pattern w .NET Core.
Sztuka programowania 2244 dni, 3 godziny, 35 minut temu 142 źrodło rozwiń
Dzisiaj czas na kolejny wpis poświęcony wzorcom kreacyjnym, a konkretnie na omówienie wzorca projektowego Builder. Builder jest wzorcem, który dzieli implementację obiektu na etapy.
Architektura 2280 dni, 4 godziny, 49 minut temu 105 źrodło rozwiń
W tym wpisie, kolejnym z serii dotyczącej kreacyjnych wzorców projektowych, omówię wzorzec projektowy Prototype – Prototyp. Prototyp, zgodnie z intuicją, ma za zadanie dostarczyć jakiś pierwotny obiekt, który potem wykorzystamy do konkretnych celów. Tym celem będzie tworzenie obiektów interesujących klienta.
Architektura 2359 dni, 4 godziny, 49 minut temu 99 źrodło rozwiń
Wprowadzenie Dzisiaj przedstawię Wam temat wzorców projektowych, a głównie pierwszy wzorzec projektowy, który wybrałem jakim jest Metoda fabryczna – Factory Method. Powiem, czemu je stosować, jakie istnieją rodzaje wzorców projektowych, jakie istnieją poszczególne wzorce projektowe, a na samym końcu wpisu zamieszczę przykładową implementację danego wzorca w języku C#. Wzorzec projektowy jest pewnym schematem, ogólnym rozwiązaniem pewnego problemu, na podstawie którego powstaje potem konkretna implementa...
Architektura 2361 dni, 4 godziny, 37 minut temu 131 źrodło rozwiń
Zachęcam do zapoznania się z artykułem opisującym jak prosto jest wdrożyć CQRS do waszego projektu.
Sztuka programowania 2380 dni, 23 godziny, 32 minuty temu 144 źrodło rozwiń
"The code that a computer can understand can be written by anyone. A good programmer writes code that people can understand."
Sztuka programowania 2730 dni, 16 godzin, 43 minuty temu 169 źrodło rozwiń
How often in your code do you see ifs checking whether the object is not null? Often? Very often? What would happen if you didn’t have to check it out? Surely code would be easier to maintain – no ifs = no test cases. This can all be achieved using Null Object pattern.
Sztuka programowania 2898 dni, 18 godzin, 51 minut temu 254 źrodło rozwiń
Architektura 2923 dni, 17 godzin, 4 minuty temu 206 źrodło rozwiń
W źródłach .NET poszukujemy zastosowań wzorców projektowych. Mało tekstu, zero UML, dużo kodu.
Architektura 2927 dni, 17 godzin, 52 minuty temu 414 źrodło rozwiń
Today I’ll show you a quite nice example of the Strategy pattern from a real project I was working on some time ago.
Sztuka programowania 2931 dni, 23 godziny, 45 minut temu 197 źrodło rozwiń
Design patterns which I would like to present in this post are well described in the book Design Patterns. Elements of Reusable Object-Oriented Software written by The Gang of Four (Gramma, Helm, Johnson, Vlissides). In my opinion this book is must read for every developer, regardless what programming language you are using. Besides the fact that this book was written more than 20 years ago, it still contains a lot of useful details for developers of all levels. I often revisit this book to keep in touc...
Sztuka programowania 2948 dni, 16 godzin, 43 minuty temu 141 źrodło rozwiń
Zaczynając swoją przygodę z ASP.NET MVC (oraz w ogóle z programowaniem) miałem sporo problemów z utrzymaniem porządku w moich akcjach na kontrolerach. Bardzo często pojawiało się tam mnóstwo warunków i niepotrzebnej logiki. Ten problem trzeba było sensownie rozwiązać, więc z kolegami wypracowaliśmy sobie pewną konwencję, której twardo się trzymaliśmy...
Which one of us doesn’t like to give commands? It’s the natural way to ask (in a polite way) for a specific task that needs to be completed. Therefore, it shouldn’t be surprising that the command pattern can be also easily implemented within our software, which might provide some serious benefits in terms of loose coupling the existing code.
Sztuka programowania 3063 dni, 3 godziny, 4 minuty temu 239 źrodło rozwiń
Do you ever feel like (well, you should) these huge switch + case statements or too many ifs seem to be wrong? What if I told you, there’s one simple trick that will change your life, by getting rid of them? Ok, seriously – I have nothing against switch or if as the way of controlling the flow (I use them quite often) however, there are certain occasions at which the things could be done better. And let me show you another way to achieve the same goal which is much cleaner in terms of code readability a...
Sztuka programowania 3083 dni, 2 godziny, 32 minuty temu 361 źrodło rozwiń
In this post I will try to introduce the concept of validation using the Chain of Responsibility pattern (CoR), which I use successfull for years
Sztuka programowania 3130 dni, 4 godziny, 45 minut temu 231 źrodło rozwiń
Immutability is a quite old concept that is mostly related to the functional programming, however, it’s also (maybe not so widely) used in the object oriented programming. An immutable variable/object can not be mutated, which means that once it’s been initialized it will never change it’s original value/reference (unless it’s deallocated). This approach results in some great benefits such as out of the box thread safety, yet in the OOP world, it does seem to be quite often abused or even not used at al...
Sztuka programowania 3180 dni, 4 godziny, 1 minutę temu 71 źrodło rozwiń