factory-function-composition
Wzorzec factory function do czystej kompozycji klientów i serwisów w TypeScript
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do zastosowania wzorca factory function w kodzie TypeScript. Pomaga w czystym wstrzykiwaniu zależności i kompozycji funkcji, gdy tworzysz funkcje zależne od zewnętrznych klientów, owijasz zasoby metodami domenowymi lub refaktoryzujesz kod mieszający opcje klienta, serwisu i metody. Zapewnia uniwersalną sygnaturę: pierwszy argument to zasoby (klient lub destructured zależności), drugi to opcjonalna konfiguracja. Rozwiązuje problemy z testowalnością i separacją odpowiedzialności.
Jak używać
Zidentyfikuj funkcję, która przyjmuje klienta lub zasób jako pierwszy argument i mieszane opcje z różnych warstw (klient, serwis, metoda). To jest kandydat do refaktoryzacji wzorcem factory function.
Zdefiniuj funkcję factory z uniwersalną sygnaturą: pierwszy parametr to zależności (pojedynczy klient lub destructured obiekt z wieloma zależnościami), drugi to opcjonalne opcje konfiguracyjne specyficzne dla factory. Nigdy nie umieszczaj konfiguracji klienta w drugim argumencie — ta należy do tworzenia klienta.
Wewnątrz factory zwróć obiekt zawierający metody, które będą używać zasobów i opcji. Każda metoda może przyjąć swoje własne opcje (methodOptions), które są specificzne dla konkretnego wywołania.
Utwórz klienta poza factory (z jego własnymi opcjami), a następnie przekaż go do factory function jako pierwszy argument. To rozdziela odpowiedzialność: tworzenie klienta jest osobne od logiki serwisu.
Używaj zwróconego obiektu z metodami w swoim kodzie. Każda metoda ma dostęp do klienta, opcji factory i swoich własnych opcji, co ułatwia testowanie i zmniejsza złożoność sygnatury funkcji.
Jeśli masz wiele zależności, destructuruj je w pierwszym argumencie zamiast przekazywać je jako osobne parametry. To utrzymuje sygnaturę czystą i czytelną.