Metaprogramovanie / Architektúra

Sergej Chodarev

Architektúra

Metaprogramovanie 9

Sergej Chodarev

Architektúra softvéru

The important decisions that a Software Architect makes are the ones that allow you to NOT make the decisions about the database, and the webserver, and the frameworks.

Uncle Bob

Metaprogramovanie

The clean architecture diagram

Dependency Inversion Principle

  1. High-level modules should not import anything from low-level modules. Both should depend on abstractions (e.g., interfaces).
  2. Abstractions should not depend on details. Details (concrete implementations) should depend on abstractions.

Dependency Injection

Príklad

Dependency Injection

Príklad závislosti

Kód

https://git.kpi.fei.tuke.sk/meta/examples/spring-di

Metaprogramovanie

MDSD

Model-driven software development

Model-Driven Architecture (MDA)

Model

Príklad: JetBrains MPS

Architektúra systému

Hierarchia modelov

Architektúra generátora

Model vo vygenerovanom kóde