Modularyzacja
Zmiany są nieuniknione
Wymagania
Technologie
Zespoły
Należy umożliwić łatwe zmiany
Jasny zakres zmiany (jasno sprecyzowane miejsce do zmiany)
Zmiana nie wymaga kaskadowych zmian
Niska "lepkość" (low viscosity)
Ewolucyjność
Możliwość dodawania i ciągłego zapewniania wprowadzania wybranych driverów architektonicznych.
Modularyzacja
Moduł - grupa logicznie związanych ze sobą funkcji.
Zawężają zakres zmiany
Powodują że zmiany nie są propagowane
Moduły a Bounded Context
Bounded Context: Przygotowywanie Video
Moduły: Validacja video. Konwersja video.
Bounded Context może mieć kilka modułów.
Zalety modułów
Łatwiejsze zrozumienie (utrzymywalność)
Elastyczność, testowalność
Wymienialność, reużywalność
Zrównoleglenie prac
Modularyzacja nie jest celem
Jeśli system nie musi być ewolucyjny (nie zmienia się), modularyzacja nie jest potrzebna. Jeśli ograniczeniem jest czas - nie można wprowadzić modularyzacji. Musi ona przyśpieszać pracę, a nie ją spowalniać.
Jeśli jednak planuje się zrobić system, który maiłby się zmieniać, modularyzacja bardzo ułatwia pracę. Jeśli miałby się zmieniać silnik bazodanowy - podział na moduły ma 100% sensu. Jeśli biznes będzie się zmieniał i zasady obsługi będą się zmieniać z czasem - warto jest wprowadzić modularyzację również na bazie biznesowej.
Książki
Last updated
Was this helpful?