
Budowanie Czystej architektury
Architekturę można budować oraz rozwijać w następujący sposób:
- Zdefiniuj wszystkich aktorów systemu oraz przypadków użycia (zgodnie z Zasadą Pojedynczej Odpowiedzialności aktor jest głównym źródłem zmiany)
- Rozdziel system ze względu na aktorów oraz zmiany, które mogą powodować. Podziel go tak, aby zmiany wprowadzane ze względu na jednego aktora, nie wpływały na innego aktora.
- Połącz komponenty na podstawie zasady zależności: zależności muszą być skierowane w stronę komponentów o wyższym poziomie.
- Użyj kompilatora do pilnowania zasad architektury: zrób testy konwencji, etc. Wykorzystaj modyfikatory dostępu i mechanizm hermetyzacji. Rozważ podejście opakowania według komponentów — jest wtedy mniej klas publicznych oraz większa jest hermetyzacja.
- Umieść w procesie rozwoju oprogramowania takie wydarzenia: przegląd kodu, rozmowy o architekturze, przegląd architektury, rozmowy o incydentach naruszenia przyjętych zasad architektonicznych.
Przykład — sklep internetowy
Na podstawie: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 300 — Rysunek 33.2. — Wstępna architektura komponentów
Powyższy diagram przedstawia architekturę sklepu internetowego.
Oznaczenia:
- Podwójne linie to granice architektoniczne.
- Prostokąty to komponenty.
- Strzałki z białymi grotami oznaczają relację: dziedziczy / implementuje.
- Strzałki z czarnymi grotami oznaczają relację: używa.
Komponenty:
- Kontrolery otrzymują dane wejściowe.
- Interaktory przekazują sterowanie.
- Prezentery formatują dane.
- Widoki wyświetlają dane.
- Gateway’a — łączą się z zewnętrznymi systemami (baza danych, płatności).
Zasady:
- Architektura podzielona jest ze względu na aktorów (np. Admin)
- Przepływ sterowania jest od prawej do lewej.
- Wszystkie strzałki skierowane są zgodnie z zasadą zależności: w stronę komponentów o wyższym poziomie.
- Wszystkie strzałki z białymi grotami (relacja: dziedziczy / implementuje) skierowane są przeciwnie do przepływu zależności. Wszystkie strzałki z czarnymi grotami (relacja: używa) skierowane są zgodnie z przepływem sterowania. Przepływ zależności jest w stronę komponentów o wyższym poziomie. Zapewnia to zgodność z zasadą otwarte-zamknięte i zabezpiecza komponenty wysokiego poziomu przed zmianą komponentów niskopoziomowych.
Wszystkie posty związane z mini projektem: Budowa czystej architektury:
- Początek mini projektu: Budowa czystej architektury
- Architektura
- Paradygmaty programowania
- Zasady SOLID w kontekście architektury
- Spójność komponentów
- Łączenie komponentów
- Struktura oprogramowania
- Zasady i poziomy
- Czysta architektura
- Budowanie Czystej architektury
- Podsumowanie projektu: Budowanie czystej architektury
- Moje notatki z nauki szybkiego czytania
Źródła
Obrazy
Materiały
- Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin.
1
/
34


Dynamiczne Menu - Dynamic Subnavigations Menu| Bubble.io TUTORIAL

Obecny Użytkownik i Uzytkownik Strony - ‘Current User’ & ‘Current Page User| Bubble.io TUTORIAL

KB_ZW_0161 - Refleksje Na Temat Zarządzania Wiedzą: Zaskoczenie

Lista Aktywności Użytkownika - Activity Feed| Bubble.io TUTORIAL

Rozwój osobisty w informatyce – czyli jak być efektywnym – Notatka z nauki

Gra bez końca — Simon Sinek - Książkowe wdrożenia

Czy istnieje bezpieczny kod – Notatka z nauki

Inwigilacja – co muszę wiedzieć? – Maciej Broniarz – Notatka z nauki

Mój pierwszy milion jak zarabiać na aplikacjach – Notatka z nauki

Mój Ojciec Mój Przyjaciel — André Stern, Arno Stern - Książkowe wdrożenia

Organizacja spotkań Praktyczny poradnik dla tych, którzy nie lubią tracić czasu — Carol R. Anderson

Czego nie należy robić, aby osiągnąć sukces w innowacyjnym przedsięwzięciu? – Notatka z nauki

Jak skutecznie współdziałać w miejscu pracy — Kevin Narramore - Książkowe wdrożenia

WikiLeaks od środka — Daniel Domscheit-Berg - Książkowe wdrożenia

Edycja Bazy Danych Poprzez Plik CSV - Edit Bubble Database via CSV File| Bubble.io TUTORIAL

Liderzy jedzą na końcu — Simon Sinek - Książkowe wdrożenia

(Un)productive partnerships – Notatka z nauki

From developer to a robot – Notatka z nauki

Nie z miłości Mądrzy rodzice – silne dzieci — Jesper Juul - Książkowe wdrożenia

Od czego zacząć robotyzacje procesów biznesowych w firmie by osiągnąć zamierzone cele? – Notatka

Budowa Bazy Danych - Create a Database| Bubble.io TUTORIAL

Szablony - Use Templates| Bubble.io TUTORIAL

Ikonka Nad Kontrolką - Overlay Icon in Text Input| Bubble.io TUTORIAL

Be eco be rich be fast – Notatka z nauki

Zarządzanie i motywowanie rozproszonego zespołu – Notatka z nauki

Uwzględnij Lokalizację Użytkownika - Show Based on User's Location| Bubble.io TUTORIAL

Mistrz czystego kodu Kodeks postępowania profesjonalnych programistów — Robert C. Martin - Notatka

Produktywność wg CodeTwo – Notatka z nauki

Wieczne opóźnienie Zarządzanie projektami IT — Marcin Dąbrowski - Książkowe wdrożenia

Działania Pod Warunkiem - Setup Conditionals| Bubble.io TUTORIAL
1
/
34
