Interfejsy, factor i ogólnie wzorce

Interfejs to część klasy, która jest udostępniana do użytku przez inne obiekty. W szczególności jest to zestaw definicji publicznych metod klasy. Oczywiście, im więcej metod publicznych obiekt ma, tym więcej obowiązków i mniej elastyczności ma wobec świata zewnętrznego. Zauważ, że interfejs nie zawiera żadnych szczegółów dotyczących implementacji; jest to tylko kontrakt, który definiuje, jakie dane wejściowe i jakie dane wyjściowe są oczekiwane po wywołaniu metody. Czasami chcesz dać sobie swobodę zmiany obiektu dla danego zadania zgodnie z kontekstem. Wiesz, że tak długo, jak interfejsy obiektów, które chcesz wymieniać są takie same, wszystko powinno być w porządku (oczywiście przy założeniu, że programiści implementują wspomniane interfejsy poprawnie). Jeśli nie planujesz tego z wyprzedzeniem, zmiana tych obiektów może być trudnym zadaniem. Tutaj do gry wchodzą factors. Factors to sposób na wybranie w czasie wykonywania i zgodnie z kontekstem, którego obiektu użyć z zestawu predefiniowanych opcji. Factors działają w zasadzie jak instrukcje, które wybierają, której klasy użyć do zadania na podstawie pewnych warunków. Są sposobem na zainwestowanie trochę więcej wysiłku dzisiaj, aby zaoszczędzić sobie sporo wysiłku później, kiedy zdecydujesz się użyć innego obiektu dla tego samego interfejsu. Powinny być używane tam, gdzie spodziewasz się, że w przyszłości będziesz używać różnego rodzaju obiektów. Factors to jeden z wielu znanych wzorców programowania zorientowanego obiektowo. Wzorce te są opracowywane przez osoby z dużym doświadczeniem w podejmowaniu decyzji projektowych i jako takie wiedzą, jakie rozwiązania mogą być ogólnie dobre dla określonych typów problemów. Dokumentowanie tych wzorców jest bardzo przydatne i pozwala wielu osobom zaoszczędzić dużo czasu i wysiłku, ponieważ nie muszą odkrywać koła na nowo w ich własnym kontekście.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *