Oczywiście można to traktować jako rodzaj strategii, ale dotyczy to prawie wszystkich wzorów. Więc dlaczego?Dlaczego wzorzec strategii jest nazywany wzorem strategii?
Odpowiedz
Ponieważ niektóre elementy implementują strategie, "sposoby osiągnięcia czegoś".
Punkt wzorca strategii polega na umożliwieniu wyboru sposobu działania, "strategii" w czasie wykonywania.
Nazwa nie odnosi się do wzorca jako całości, odnosi się do obiektów we wzorcu, który wykonuje akcje.
Ideą wzorca strategii jest to, że "algorytmy można wybierać w środowisku wykonawczym." (Wikipedia, Strategy Pattern) Wzorzec, w istocie, polega na wybraniu odpowiedniej strategii (lub zachowania) w celu rozwiązania konkretnego problemu w czasie wykonywania. Dlatego jest to imię.
Czuje się bardziej odpowiednią definicją niż ta podana przez @RichieHindle. – jldupont
To prawda, że wszystkie wzorce są "strategiami" do projektowania aplikacji. Wzorzec strategii wymaga jednak złożonej logiki, algorytmów itp. I hermetyzuje go. Który oczyszcza twój kod, a także pozwala stosować różne strategie w zależności od różnych warunków.
Przykł. Napisałem skomplikowaną kalkulację odsetek dla Zabezpieczenia, a zamiast faktycznego posiadania kalkulacji wewnątrz klasy Zabezpieczenia przeniosłem ją do klasy Odsetki (strategia). Potem, kiedy zaczęli mi powtarzać, obliczenia muszą być inne, ponieważ obliczenia stopy procentowej były zgodne z interfejsem IInterestCalculation, mogłem zmienić i utworzyć nowe obliczenia tak bardzo, jak potrzebowałem, a klasa Zabezpieczeń pozostała niezmieniona ...
Brzmi bardziej jak "taktyka" w tym momencie, nie? Czy "strategia" nie implikuje większego "wzorcowego planu" - podobnego paradygmatu? – jldupont
@jldupont: Nie obwiniaj mnie, nie nazwałem tego! :-) – RichieHindle
Tak, ale tak wiele z nich robi, fabryka na przykład ... – Peter