![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
W aplikacji jest kilka klas implementujących ten sam interfejs.
W dalszym opisie będę te klasy nazywał "tymi klasami" Każda z tych klas ma metody, które musi posiadać ze względu na wymóg zawarty w interfejsie. Oprócz tego każda z tych klas korzysta z kilku metod, takich samych dla każdej z tych klas. I teraz pytanie: jak udostępnić te wspólne metody dla każdej z tych klas? Jest kilka możliwości: 1. Te klasy dziedziczą metody wspólne dla tych klas po klasie abstrakcyjnej, która te metody deklaruje. 2. Te klasy używają wspólnego trait z tymi metodami wspólnymi dla tych klas. 3. Specjalny obiekt zawierający wspólne dla tych klas metody wstrzykiwany jest do instancji każdej z tych klas. 4. Instancja każdej z tych klas wstrzykiwana jest do instancji pewnej specjalnej klasy, która posiada te metody wspólne dla tych klas. A może jeszcze inaczej? Mam nadzieję, że to zrozumiałe. Z góry dziękuję |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie to co opisujesz brzmi jak typowe zastosowanie dla strategii.
Teoria: https://en.wikipedia.org/wiki/Strategy_pattern Strona opisująca implementację tego wzorca: http://www.oodesign.com/strategy-pattern.html Trochę prostsza wersja tego co powyżej w PHP: http://www.phptherightway.com/pages/Design-Patterns.html Ten post edytował Skie 11.09.2016, 22:48:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 19:50 |