МЕТОДИ ТА ЗАСОБИ ПРЕДМЕТНО-ОРІЄНТОВАНОГО ПРОЄКТУВАННЯ СКЛАДНИХ ПРОГРАМНИХ СИСТЕМ НА ПЛАТФОРМІ .NET CORE
METHODS AND TOOLS OF DOMAIN-DRIVEN DESIGN OF COMPLEX SOFTWARE SYSTEMS ON THE .NET CORE PLATFORM
Сторінки: 222-228. Номер: №3, 2023 (321)
Автори:
ПАСІЧНЮК Антон
НТУУ «Київський політехнічний інститут імені Ігоря Сікорського»
e-mail: pasichniuk.anton@gmail.com
ТИХОХОД ВОЛОДИМИР
НТУУ «Київський політехнічний інститут імені Ігоря Сікорського»
ORCID ID: 0000-0002-1525-4770
e-mail: v.tikhokhod@gmail.com
PASICHNIUK ANTON
National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”
TYKHOKHOD VOLODYMYR
National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”
DOI: https://www.doi.org/10.31891/2307-5732-2023-321-3-222-228
Анотація мовою оригіналу
В роботі проаналізовано проблеми реалізації методів та вибору засобів предметно-орієнтованого проєктування складних проблемних областей, розглянуто особливості реалізації шаблонів, що використовуються для створення програмного забезпечення підтримки діяльності складних областей на платформі .NET Core.
Ключові слова: предметно-орієнтоване проєктування, DDD, проєктування складних проблемних областей, шаблони тактичного проєктування.
Розширена анотація англійською мовою
Object-oriented design and approaches to software implementation of systems are relatively new concepts. Templates, tools and technologies related to the implementation of domain models are developing and taking on new forms together with other areas of information technology and software engineering, in particular, with the development of programming languages and platforms, object-relational mapping technologies, microservices, cloud applications. The paper analyzes the problems of implementing methods and choosing means of subject-oriented design of complex problem areas, considers the templates used to create software to support the activities of complex areas on the .NET Core platform.
Existing practices are summarized, methods of implementing tactical design patterns on the .NET Core platform are described. The basic concepts of tactical design templates are shown on the examples of object models made in the UML modeling language. Some examples with fragments of the implementation of subject models in the C# programming language are given, which reflect the peculiarities of the implementation of some aspects of the domain in this programming language and emphasize their peculiarities.
Technical solutions for the implementation of the main concepts of entities, aggregates and objects of values, which are the most important concepts of tactical domain design, are analyzed. The technical features of applying Entity Framework Core object-relational mapping technology for building a high-quality domain model are disclosed. The necessity of structuring the subject area into small isolated parts in order to simplify the task space by using the Module template is emphasized, and the main techniques of implementing this template are highlighted. There are several possible ways of implementing domain events that are used to transfer side effects between aggregates.
Keywords: domain-driven design, DDD, design of complex problem areas, tactical design patterns.