𝗟𝗟𝗗 𝗗𝗲𝘀𝗶𝗴𝗻 𝗣𝗿𝗼𝗰𝗲𝘀𝘀 (𝗙𝗿𝗼𝗺 𝗥𝗲𝗾𝘂𝗶𝗿𝗲𝗺𝗲𝗻𝘁𝘀 𝘁𝗼 𝗖𝗼𝗱𝗲) -> Proces projektowania LLD (Od wymagań do kodu)
Low Level Design nie polega na natychmiastowym pisaniu kodu. Polega na przestrzeganiu ustrukturyzowanego procesu.
Postępuj zgodnie z poniższymi krokami, aby przejść od opisu problemu do działającego kodu.
- Zrozum wymagania Nie przechodź od razu do klas. Najpierw dowiedz się, co system musi robić.
- Jakich funkcji potrzebuje?
- Jakie akcje musi obsługiwać?
- Jakie zmiany mogą nastąpić w przyszłości?
- Identyfikuj rzeczowniki, aby znaleźć klasy Szukaj rzeczowników w wymaganiach. Rzeczowniki staną się Twoimi klasami. Przykład: Edytor dokumentów
- Rzeczowniki: Document, Text, Image, Storage, Editor.
- Klasy: Document, TextElement, ImageElement, Storage, DocumentEditor.
Przykład: Parking
- Rzeczowniki: ParkingLot, Floor, Slot, Vehicle, Ticket.
- Klasy: ParkingLot, Floor, Slot, Vehicle, Ticket.
- Używaj relacji IS-A dla dziedziczenia Zadaj sobie pytanie: „Czy obiekt potomny jest rodzajem obiektu nadrzędnego?”
- TextElement IS-A DocumentElement.
- Car IS-A Vehicle.
- Dog IS-A Animal. Jeśli odpowiedź brzmi „tak”, użyj dziedziczenia.
- Używaj relacji HAS-A dla kompozycji Zadaj sobie pytanie: „Czy jeden obiekt zawiera inny?”
- Document HAS-A kolekcję elementów.
- ParkingLot HAS-A zestaw pięter.
- Car HAS-A silnik. Użyj kompozycji, aby połączyć te obiekty.
- Identyfikuj czasowniki, aby znaleźć metody Szukaj czynności w wymaganiach. Czasowniki staną się Twoimi metodami.
Add textstaje sięaddText().Save documentstaje sięsave().Park vehiclestaje sięparkVehicle().
- Planuj zmiany za pomocą interfejsów Pomyśl o przyszłych aktualizacjach. Jeśli zapisujesz dokument, możesz użyć pliku, bazy danych lub chmury.
- Utwórz interfejs o nazwie
Persistence. - Utwórz implementacje, takie jak
FileStoragelubDBStorage. Pozwala to na dodanieCloudStoragew przyszłości bez konieczności zmiany istniejącego kodu.
- Narysuj diagram UML i napisz kod Gdy masz już klasy, dziedziczenie, kompozycję i metody, narysuj diagram UML. Będzie on pełnił rolę Twojego projektu (blueprint). Na koniec przekształć ten projekt w czysty kod.
Podsumowanie procesu:
- Wymagania
- Rzeczowniki -> Klasy
- IS-A -> Dziedziczenie
- HAS-A -> Kompozycja
- Czasowniki -> Metody
- Warianty -> Interfejsy
- Diagram UML
- Finalny kod
Źródło: https://dev.to/roshan_singh_dd54d52bbaa7/lld-design-process-from-requirements-to-code-594m