W CQRS często definiuje się interfejsy dla handlerów, aby wymusić ujednoliconą strukturę kodu. Takie podejście stosowane jest m.in. przez bibliotekę MediatR. Nawet jeśli nie używasz żadnych bibliotek, ale ręcznie dziergasz swoje rozwiązania, możesz chcieć iść tą drogą. W moim najnowszym artykule wyjaśniłem, jak zarejestrować wszystkie handlery według konwencji za pomocą biblioteki Scrutor.
Architektura 1122 dni, 4 godziny, 21 minut temu 118 źrodło rozwiń
W tym artykulę opisuję wady i zalety różnych typów aplikacji oraz pokazuję, jakie czynniki zadecydowały, że wybrałem taki, a nie inny rodzaj do swojej aplikacji SaaS easyRenti.pl.
Architektura 1123 dni, 2 godziny, 57 minut temu 73 źrodło rozwiń
CodePruner.comPostsPOSTS ADR is an Architecture Decision Record, but if we leave it like that, it won’t tell you anything. So let’s deconstruct the name into smaller pieces.Architecture Decision I like to describe it as: “Every decision in the development team that has an impact on the state of the application and the way of working in a particular time”. Ok… we have it, but here are some examples:Use TypeScript and React on the frontendCreate backend in .NETCreate the application for a cloud. Tr...
Architektura 1125 dni, 4 godziny, 28 minut temu 52 źrodło rozwiń
Derek ComartinArchitecture When building Software as a Service (SaaS) you’ll often need to use a Multi-tenant Architecture. There are many different ways that you can segregate compute and data storage in a multi-tenant architecture. Data storage can be in a silo or partitioned. Compute can be pooled or siloed. And both together you can create lanes for groups of tenants. In this architecture, having the identity of each request is critical in being able to route a request all the way through to the r...
Architektura 1139 dni, 4 godziny, 13 minut temu 43 źrodło rozwiń
Introduction Each technology becomes obsolete after some time. It is no different with the .NET Framework – it can be safely said that after the appearance of the .NET Core platform, the old Framework is slowly disappearing. Few people write about this platform, at conferences it has not been heard for a long time in this topic. Nobody starts a project in this technology. Only the .NET Core everywhere… except for a beloved legacy systems! Well, despite the fact that there is .NET Core in the new soluti...
Architektura 1164 dni, 5 godzin, 29 minut temu 98 źrodło rozwiń
Dyskusje o pozycjach mogą być krępujące. Nie inaczej jest w przypadku Event Sourcing. Pozycja, wersja, rewizja, numer sekwencji. Nazewnictwo bywa mylące, a zrozumienie tych konceptów jest ważne do efektywnego używania event store'ów. Przeczytaj mój nowy artykuł i dowiedz się co jest co!
Architektura 1167 dni, 5 godzin, 34 minuty temu 39 źrodło rozwiń
Entity Framework i projekcje zdarzeń? Czy to nie brzmi jak ogień i woda? W moim najnowszym artykule opisałem, jak połączyć te dwa żywioły i stworzyć czyste, samodokumentujące się i łatwe w utrzymaniu API. Miłej laktury!
Architektura 1177 dni, 6 godzin, 23 minuty temu 88 źrodło rozwiń
„Obsesja stanu” to nowy anty-wzorzec #EventSourcing, z którym postanowiłem się zmierzyć! To jeden z typowych problemów, gdy tkwimy w myśleniu o obecnym stanie, tabelach, zamiast rejestrować wynik operacji biznesowej. Przeczytaj więcej o tym, jak to diagnozować leczyć!
Architektura 1192 dni, 5 godzin, 41 minut temu 78 źrodło rozwiń
Jakiś czas temu napisałem, że "Czy to się skaluje?" nie jest pytaniem, ale mantrą. Zdałem sobie sprawę, że obecnie skalowanie w dół, może być bardziej krytyczne niż skalowanie w górę(biorąc pod uwage ARM, serverless, edge computing). Przeczytaj więcej w najowszym artykule.
Architektura 1206 dni, 5 godzin, 48 minut temu 70 źrodło rozwiń
“Knowing anti-patterns is as important as knowing any other patterns. Today I tackled #PropertySourcing. It's one of the most common anti-patterns while starting to implement #EventSourcing. Read more in my latest article!
Architektura 1220 dni, 5 godzin, 30 minut temu 96 źrodło rozwiń
Dlaczego nie Automapper? W tym odcinku odpowiedzi na pytania: 💠 Po co jest nam mapowanie obiektów? 💠 Jakie są sposoby mapowania? 💠 Jakie mamy rozwiązania dotyczące mapowania obiektów? 💠 Co jest nie tak z Automapperem? 💠 Czy jawne/"manualne" mapowanie obiektów nie jest niezgodne z DRY i SOLID? 💠 Czym jest MappingGenerator? 💠 Jak stworzyć rozszerzenie kompilatora C#? 💠 Co popchnęło Cezarego do tego, żeby stworzyć własne rozszerzenie i ciągnąć taki pet project tak długo?
Architektura 1256 dni, 6 godzin, 33 minuty temu 94 źrodło rozwiń
Dlaczego serwisu bez stanu stateless są beznadziejne. I co ma do tego dapr.
Architektura 1256 dni, 6 godzin, 33 minuty temu 71 źrodło rozwiń
This week I decided to back to the basics of Event Sourcing. I explained how to build the current state from events in: - object-oriented style in C# - functional style in TypeScript. This is an essential part of treating events as the source of truth.
Architektura 1269 dni, 5 godzin, 25 minut temu 44 źrodło rozwiń
I hear the question "When not to use Event Sourcing?" a lot. Event Sourcing is an extremely useful pattern, but not a silver bullet. I decided to share my thoughts on when you ain't gonna need it.
Architektura 1275 dni, 5 godzin, 46 minut temu 72 źrodło rozwiń
Introduction Today I would like to suggest a less-common but in my opinion a much better way to organize our codebase. Meet the Feature Folders.Problem For ages we have been (at least in the .NET environment) used to thinking about our code structure taking into account the technical aspects. For example MVC application project templates assume the division our objects into separate directories – Controllers, Views, Scripts and so on. We can see the same in many tutorials. If we need add new feature, f...
Architektura 1276 dni, 5 godzin, 20 minut temu 75 źrodło rozwiń
🚨 Quite often, to make our code simpler, we're trying to make our code more reusable and generic. I wrote an article with a warning that "generic" does not mean "simple". I did that on the example of #CQRS code evolution. Beware and have a read!
Architektura 1283 dni, 4 godziny, 45 minut temu 65 źrodło rozwiń
Czyli wróżby o tym co się wydarzy w technologii w najbliższym czasie.
Architektura 1289 dni, 5 godzin, 39 minut temu 83 źrodło rozwiń
People want to scale up everything. In the past, the recipe for everything was to buy a larger server. Today, the answer is to add another instance. Does it always make sense? “Will it scale?” is not a question, it is a mantra. In my opinion, the best is to verify if you need to scale it at all. Read my take in my newest article.
Architektura 1304 dni, 6 godzin, 37 minut temu 41 źrodło rozwiń
Snapshots in Event Sourcing are a controversial topic. It's tempting to use them, but in my opinion, they should be used only when you had to, as a technical optimisation technique. Read more in my latest article!
Architektura 1307 dni, 6 godzin, 16 minut temu 69 źrodło rozwiń
Posted on przez Daniel PlawgoWprowadzenie W poprzednim wpisie z mini serii o tworzeniu aplikacji multi tenant pokazałem Ci, w jaki sposób można określić, z jaką organizacją aktualnie pracujemy. Kolejnym problemem, jakim się zajmiemy, jest sposób przechowywania danych. Dwa najczęściej używane podejście to dedykowana baza danych dla każdej organizacji oraz trzymanie wszystkiego w jednej bazie. W tym wpisie zajmę się pierwszym podejściem, natomiast w innym omówię drugie podejście.Plusy dedykowanych baz da...
Architektura 1312 dni, 4 godziny, 30 minut temu 92 źrodło rozwiń