Zasada Separation of Concern - Separacja zagadnień

SoC - podział na moduły nie pokrywające się funkcjonalnością.


Separacja zagadnień polega na podziale programu na odrębne moduły, które pokrywają się funkcjonalnością tak mało jak to tylko możliwe. Taką budowę programu nazywamy modułową. Każdy element systemu powinien mieć swoje rozłączne i osobliwe zastosowanie. Celem SoC (Separation of Concern) jest stworzenie systemu, w którym każda część pełni znaczącą role przy zachowaniu możliwości maksymalnej adaptacji do zmian. SoC nie odnosi się tylko do architektury systemu, ale do różnych zagadnień np. do podziału aplikacji na warstwy (prezentacji, logiki biznesowej, dostępu do danych, bazy danych).

Zalety separacji:

  • upraszcza prace grupową, każdy pracownik pracuje nad swoim modułem,
  • budowa modułowa pozwala na łatwiejszą rozbudowę systemu,
  • poprawia czytelność budowy programu, pozwala łatwiej zrozumieć działanie systemu,
  • poprawia reużywalność elementów systemu.

Separation of Concern a Single Responsibility Principle (SoC vs. SRP)

Separacja zagadnień (SoC) i zasada pojedynczej odpowiedzialności (SRP) wydają sie bardzo podobne jednak są pomiędzy nimi pewne różnice. SRP każe oddzielać każdą funkcjonalność do osobnej klasy, która ma się zajmować tylko jedną rzeczą, natomiast SoC każe dzielić zagadnienie (nie koniecznie program) na moduły, które w jak najmniejszym stopniu pokrywają się funkcjonalnością. W pewnych sytuacjach SoC kłóci się z SRP, należy wtedy wybrać odpowiednie rozwiązanie w zależności od rodzaju problemu. W żadnym przypadku nie istnieje idealne rozwiązanie, dlatego należy wybrać rozwiązanie najlepsze z dostępnych.
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):