Diplomová práce

Multiplatform .NET library for Domain-Driven Design with ES

Michal Mrnuštík
Anotace

Cílem této práce je vytvořit knihovnu pro vývoj software, jejímž cílem je usnadnit tvorbu systémů. Toto usnadnění může být dosaženo poskytnutím dostatečné infrastruktury pro použití metodologie Domain-Driven Design v kombinaci s návrhovým vzorem Event Sourcing. První část této práce popisuje základní principy metodologie Domain-Driven Design a návrhového vzoru Event Sourcing. Dále je v práci obsažen …více

Abstract

The aim of this thesis is to create a software development library that will facilitate the writing of enterprise systems. This can be achieved by providing the necessary infrastructure to use the Domain-Driven Design methodology in combination with the Event Sourcing pattern. The first part of the thesis describes the principles of Domain-Driven Design and the building blocks of Event Sourcing. It …více

Zadání práce

Téma diplomové práce představuje návrh a implementaci multiplatformní knihovny v prostředí .NET zaměřené na podporu aplikace principů přístupu Domain-driven design (DDD) ve spojení s architektonickým vzorem Event Sourcing (ES) pro ukládání dat.

Úkolem studenta bude nastudovat problematiku návrhu software pomocí konceptu DDD a v základu popsat jeho principy a pojmy. Dále se student seznámí s architektonickým vzorem ES v kombinaci s přístupem DDD. V rámci teoretické části práce student sestaví stručnou rešerši stávajících knihoven sloužících obdobnému účelu.

Na základě získaných znalostí student navrhne a implementuje multiplatformní knihovnu, jejíchž cílem bude zjednodušení tvorby aplikací využívajících principů DDD v kombinaci s ES v prostředí .NET. Vůči příp. stávajících knihovnám svoji vymezí a porovná jejich vlastnosti.

Nová knihovna bude

  • zajišťovat infrastrukturu pro práci s doménovými objekty za použití technik DDD ve spojení s ES,
  • poskytovat možnost volby úložiště na základě výběru tzv. pluginu (implementováno bude ukládání do SQL databáze a do paměti procesu),
  • dovolovat napojení externího zdroje událostí, např. pomocí REST API,
  • a poskytovat nástroj s podporou krokování změn v doménovém modelu.

Zdrojové kódy knihovny budou veřejně k dispozici pod licencí MIT, její zkompilovaná verze bude dostupná v rámci správce balíčků NuGet.

Student představí příklad využití své knihovny na ukázkovém projektu skladového systému. V rámci projektu student ukáže využití všech výše zmíněných vlastností knihovny.

Práce zkontrolována:
7. 6. 2021 15:42, RNDr. Mgr. Jaroslav Bayer, učo 72873
Jazyk práce
angličtina angličtina
Termín obhajoby
21. 6. 2021
Práce byla úspěšně obhájena

Vedoucí

RNDr. Mgr. Jaroslav Bayer, učo 72873
CVT FI MU

Oponent

RNDr. Tomáš Obšívač, učo 60675
KPSK FI MU

Literatura

  • EVANS, Eric. Domain-driven design : tackling complexity in the heart of software. Edited by Martin Fowler. Boston: Addison-Wesley, 2004, xxx, 529. ISBN 0321125215.
  • .NET Domain-Driven Design with C#problem, design, solution. Edited by Tim McCarthy. Indianapolis, Ind.: Wiley Publishing, 2008, xxi, 408 p. ISBN 9780470147566.
  • VAUGHN, Vernon. Implementing Domain-Driven Design. Addison-Wesley Professional. USA, 2013. ISBN 978-0-321-83457-7.

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.