Sobes.tech
Middle+

Jakie podejście zastosowałeś podczas budowania architektury swojego projektu?

sobes.tech AI

Odpowiedź od AI

Użyłem podejścia opartego na komponentach, zgodnie z zasadami projektowania atomowego. Podzieliłem projekt na małe, wielokrotnego użytku komponenty, grupując je według poziomów abstrakcji: atomy, molekuły, organizmy, szablony i strony.

  • Atomy: Elementy podstawowe (przyciski, pola wejściowe, ikony).
  • Molekuły: Kombinacje atomów (pole wejściowe z przyciskiem).
  • Organizmy: Grupy molekuł i/lub atomów (nagłówek, stopka).
  • Szablony: Kompozycje organizmów i molekuł, które określają strukturę strony (układ strony).
  • Strony: Konkretne przykłady szablonów z rzeczywistymi danymi.

To pozwoliło osiągnąć:

  • Wysoki poziom ponownego użycia kodu
  • Łatwość wsparcia i skalowania
  • Prostotę testowania komponentów
  • Lepszą współpracę między projektantami a programistami

Używałem React (lub Vue.js, w zależności od frameworka używanego w projekcie), zarządzając stanem przez Redux (lub Vuex).

Struktura katalogów jest zorganizowana według komponentów, a nie według typu pliku, co poprawia dostępność i spójność kodu.

// Przykład struktury katalogów
src/
  components/
    atoms/
      Button/
        Button.js
        Button.module.css
    molecules/
      InputWithButton/
        InputWithButton.js
        InputWithButton.module.css
    organisms/
      Header/
        Header.js
        Header.module.css
  containers/ // Dla komponentów związanych z logiką i danymi
    UserList/
      UserList.js
      UserList.module.css
  pages/
    HomePage/
      HomePage.js
      HomePage.module.css
  redux/ // Lub vuex
    actions/
    reducers/
    store.js
  utils/ // Funkcje pomocnicze
  api/ // Praca z API