![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cześć wszystkim,
krótko mówiąc - miałem kod oparty o wzorzec fabryki i po licznych zmianach ewoluował on do czegoś takiego:
Chodzi o to, że metoda produkująca obiekty przestała być statyczna, a ja wywołuję ją z obiektu. Klasy ClassA, B i C implementują oczywiście wspólny interfejs, pominąłem tutaj wiele szczegółów, żeby nie zaciemniać, ale mam nadzieję, że wiecie, o co chodzi... I moje pytanie: czy to jeszcze opiera się o koncepcję Fabryki, czy już nie? Jak sądzicie? Być może pytanie jest czysto teoretyczne (bo kod oczywiście działa), ale może pokażecie mi błędy, których ja już nie zauważam (IMG:style_emoticons/default/winksmiley.jpg) ... Tak czy siak - liczę na opinie i dyskusję. Pozdro |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jest to nadal metoda fabryczna, jednak jaki masz cel w tym aby ta metoda była nie statyczna? O to chodzi w tym wzorcu aby utworzyć obiekt klasy wyspecjalizowanej wywołując metodę statyczną klasy bazowej, po to aby nie tworzyć obiektu w celu utworzenia obiektu właściwego ;]
Cytat robiąc to statycznie na pewno działało by to szybciej. Wywołanie statycznej funkcji działa około 2 razy szybciej. Tak mi się o uszy obiło. A nie obiło ci się o uszy, że nie powinno się rozpowszechniać "faktów"? Przed napisaniem takiej bzdury lepiej uruchom prostego benchmarka (10 linijek kodu) i sprawdź, czy to prawda. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 22:55 |