User does not exist. I would like to invite him to a group. It the the problem I met on creating application to improve the cooperation between trainers, players and sport enthusiasts. Allow me to walk you through the problems and their solution.Understand the process Before we go deeper with the technical problems and solution I will describe the process of invitation. There are 3 options of configure join policy:Open - Anyone can joinOpenForRequest - Anyone can send join request. The someone from the ...
Architektura wtorek, 30 lipca 2024 04:41:00 GMT 6 spam? źrodło rozwiń
Maciej "MJ" Jedrzejewski – Your AI & Software Consultant in SwitzerlandHomeAbout meMastering Strategic Domain-Driven Design After all the previous steps, we are ready to continue our journey and try to prepare the first draft for splitting the Fitness Studio domain into several subdomains. But there is still a long way to go. First, let’s try to define what a subdomain is. Every business operates in some business domain – we all know that. To keep it efficient, it is usually divided into different a...
Architektura niedziela, 1 października 2023 08:37:41 GMT 13 spam? źrodło rozwiń
Oh boy, here we go again. Every time we build software, we operate in an area called a domain. It is something that describes our business. It can be:E-commerce – this domain can include online shopping, product catalogue, order processing, payments and many other smaller partsTaxes – in this domain we can find areas like income tax, corporate tax, tax compliance or tax policy...
Architektura niedziela, 6 sierpnia 2023 09:47:57 GMT 15 spam? źrodło rozwiń
Years ago I wanted to start learning Domain-Driven Design. It was quite a popular topic, many of my colleagues were discussing it. The problem, as always, was where to start. I decided to ask one of my old mentors. He told me, “MJ, there is a great book about DDD called the Blue Book. Go and read it and everything will be clear. There is nothing better on the market”. “Well, it m...
Architektura 514 dni, 4 godziny, 15 minut temu 251 źrodło rozwiń
Czym są archetypy modeli domenowych? Do czego mogą się przydać i jak uzupełniają się z technikami z Domain Driven Design?
Sztuka programowania 1118 dni, 3 godziny, 51 minut temu 135 źrodło rozwiń
Tworząc model domeny co konkretnie modelujemy? Czy chcemy mieć jeden model dla całego przedsięwzięcia czy wiele modeli? Czy można nie mieć modelu? Warto odpowiedzieć sobie na te pytania przed przystąpieniem do modelowania, żeby wiedzieć do jakiego celu zmierzamy.
Sztuka programowania 1138 dni, 3 godziny, 22 minuty temu 63 źrodło rozwiń
W pracy nad każdym systemem IT opracowujemy "MODEL". Czym on jednak jest? Po co go robimy? Czy wszystkie modele są błędne? Czasami warto oderwać się nieco od technikaliów i spojrzeć na tworzenie systemów IT z nieco "filozoficznej" perspektywy.
Sztuka programowania 1166 dni, 4 godziny, 44 minuty temu 108 źrodło rozwiń
Czym zajmuje się programista? Pisaniem kodu, konfiguracją środowisk, debugowaniem, integracją z zewnętrznymi systemami? Z pewnością, ale czy jest to istota jego pracy?
Sztuka programowania 1177 dni, 5 godzin, 46 minut temu 92 źrodło rozwiń
In previous posts I’ve talked about a problem which I’ve seen many times – modern coupling. In this post I will give you a list of tools for discovering proper service boundaries that will reduce that coupling to its minimum.
Architektura 1331 dni, 4 godziny, 54 minuty temu 79 źrodło rozwiń
We’ve all seen systems that were tightly coupled, and maybe you are working in that kind of system right now. It seems that keeping codebase without high coupling its hard. Because most of the systems ends as not maintainable mess, we just need some time to make it like that. And I want to be clear, I’m not trying blaming any of you because I’ve done the same. But after 60 years from when coupling was invented, I think it’s time to stop chasing the newest technologies and focus on what is causing those p...
Architektura 1390 dni, 3 godziny, 57 minut temu 73 źrodło rozwiń
During the analysis of a certain process, you might end up with just one command that leads only to one event. It has happened to me during our first Process Level sessions. We did find commands to the events that we’ve spotted in the Big Picture session and it felt just right. Is It Really That Simple? There’s a catch though. You might end up with a model of the system that looks just like a CRUD. Is the whole system just a CRUD? Hmm… In most cases probably not. In my case, it was the s...
How to handle concurrency conflicts and enforce invariants using Entity Framework Core and Domain-Driven Design Aggregate Pattern.
Architektura 1681 dni, 5 godzin, 12 minut temu 94 źrodło rozwiń
CQRS is a simple pattern that strictly segregates the responsibility of handling command input into an autonomous system from the responsibility of handling side-effect-free query/read access on the same system. If you are familiar with Domain-Driven Design, you’ve most likely heard about, Command-Query Responsibility Segregation (CQRS). Though the CQRS pattern is well-known, there are still a lot of misconceptions around this pattern, especially when it comes to applying it in real-world software proje...
Sztuka programowania 1688 dni, 5 godzin, 14 minut temu 100 źrodło rozwiń
Attributes of Clean Domain Model
Sztuka programowania 1873 dni, 4 godziny, 21 minut temu 127 źrodło rozwiń
Kolejny odcinek z cyklu o Bounded Contextach - tym razem czym jest ostateczna spójność i dlaczego warto ją stosować przy wykorzystaniu kontekstów.
Sztuka programowania 1908 dni, 5 godzin, 14 minut temu 165 źrodło rozwiń
Eric Evans in the book DDD: Tackling Complexity in the Heart of Software presents a model characteristic for Domain Driven Design, which consists of layers: User Interface, Application, Domain and Infrastructure.
Sztuka programowania 1909 dni, 5 godzin, 11 minut temu 86 źrodło rozwiń
Domain-Driven Design #06: aggregate and aggregate root
Architektura 1937 dni, 6 godzin, 3 minuty temu 115 źrodło rozwiń
Polityka to Building Block z DDD, który pozwala otwierać model na rozbudowę w tych miejscach, w których biznes może tego faktycznie potrzebować. Pojedyncze Polityki zwykle są stosunkowo proste, ich kompozycja może jednak modelować bardzo złożone wymagania biznesowe. Jak zaimplementować je w C#, żeby maksymalnie zwiększy czytelność?
Sztuka programowania 1991 dni, 4 godziny, 51 minut temu 268 źrodło rozwiń
How to handle Domain Events in complicated cases.
Sztuka programowania 2012 dni, 5 godzin, 12 minut temu 136 źrodło rozwiń
Value Object to bardzo użyteczny Building Block z DDD. Jego użycie znacznie zwiększa ekspresywność kodu i redukuje ilość defensywnej logiki. Jak składnia C# wpiera implementację Value Objectów? Których konstrukcji językowych używać, żeby maksymalnie zwiększyć czytelność? Na szczęście C# ma w tym obszarze sporo do zaproponowania, więc kod może być naprawdę elegancki.
Sztuka programowania 2017 dni, 5 godzin, 39 minut temu 369 źrodło rozwiń