Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ćwieczenie z PHP OOP.
siuda
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2012

Ostrzeżenie: (0%)
-----


Witam,

Od pewnego czasu ucze się programowania obiektowego i natrafiłem na takie zadanie :

"Utwórz klasę "rozwiazanie", która będzie mogła wykonać operacje arytmetyczne na takich tablicach jak array(5, "plus", 4), oraz array(2, "razy", 8) i wykonaj na nich działanie arytmetyczne. Pamiętaj, że środkowa wartość w tablicy jest również nazwą klasy - zaimplementuj ją. W przyszłości może być potrzeba obsługi innej operacji arytmetycznej bez potrzeby zmiany kodu".

Trochę nie rozumiem po co mam tworzyć jedną klasę "rozwiazanie", która i tak będzie musiała za pomocą funkcji array_search szukać takich słów jak plus, razy, minus, podzielić i wykonać operację na pozostałych wartościach. Jaki jest sens i potrzeba tworzenia kolejnych klas? Jeżeli ktoś może mi to wytłumaczyć to będe bardzo wdzięczny za pomoc. Nie jestem w stanie nawet zrobić sobie szkicu takiego rozwiązania jak to miałoby wyglądać.


Pozdrawiam,
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Orzeszekk
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Najprosciej: Wyobraz sobie ze tych operacji arytmetycznych masz nie 4 a 300, i dodatkowo chcesz dac mozliwosc dodawania nowych operacji za pomocą plug-inów. Wtedy strategia staje sie baardzo sensowna.

Ogolnie strategia uczytelnia kod nawet dla kilku opcji, jesli sa one rozbudowane. Tworzysz klase abstrakcyjną - bazę ktora przechowuje wszystkie wspolne dla wszystkich strategii operacje, a do strategii finalnych dopisujesz tylko to czym sie roznia.

Jesli masz wszystkie mozlwiosci "zahardkodowane" switchami i ifami, pisząc jedną czesc algorytmu mozesz popsuc drugą (pomijajac fakt ze to cholernie nieczytelne). Gdy masz wyiozolowane roznice miedzy algorytmami w postaci strategii robiac jedną nie masz jak popsuc drugiej.

Dla prostych rzeczy wzorce projektowe wydaja sie nadmiarowe i niepotrzebne, swoja sile pokazuja przy duzych projektach.

Ten post edytował Orzeszekk 15.03.2012, 15:28:36
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 05:20