Utrzymywanie luźno powiązanych klas jest ważnym aspektem pisania kodu, który jest łatwy do zrozumienia, modyfikacji i debugowania - rozumiem. Jako początkujący, prawie w każdej chwili wychodzę poza najprostsze przykłady, z którymi walczę.Luźne praktyki sprzęgania i OO dla początkujących
Rozumiem, mniej więcej, jak mogę hermetyzować ciągi, liczby całkowite i proste typy danych w klasach własnych. Kiedy jednak zaczynam zajmować się takimi informacjami jak formatowanie tekstu sformatowanego, rzeczy stają się naprawdę skomplikowane - chyba że po prostu użyję różnych metod już obecnych w komponencie. Aby kontynuować ten przykład, załóżmy, że pisałem coś, co zawierało komponent noty RTF w interfejsie użytkownika. W Delphi komponent ma wbudowane metody do robienia rzeczy, takich jak zapisywanie sformatowanego tekstu. Ponadto czasami wydaje się, że jedynymi (lub przynajmniej najlepszymi) sposobami pracy z tekstem RTF są same metody wbudowane w komponent.
W jaki sposób (lub dlaczego) wykonałbym całą pracę związaną z zapisywaniem, ładowaniem i formatowaniem tekstu w innej klasie, gdy już posiadam komponent, który robi to wszystko dla mnie?
Na własną rękę zwykle kończę: (a) robienie czegoś, co wydaje się bardziej skomplikowane niż potrzeba, wymyślanie już istniejących metod lub (b) tworzenie słabo wykonanych klas, które są nadal ściśle ze sobą powiązane. Jak mówią w informa- cjach: "Musi istnieć lepszy sposób!"
Po prostu zagubiłem się koncepcyjnie, jak działa ten "lepszy sposób". jakieś pomysły?
Nie, w Delphi bardziej prawdopodobne jest niewystarczające –