Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 4 Dołączył: 6.09.2007 Ostrzeżenie: (0%)
|
Hej,
Ostatnio zacząłem przepisywać skrypt na OOP i mam kilka funkcji (nie powiązanych ze sobą), które nie nadają się do standardowej klasy (gdzie tworzy się instancje obiektu) i tak sobie myslałem, czy byłoby prawidłowo jeślibym utworzył klasę (np. Tools czy Utilities) w której trzymałbym przydatne statyczne metody? Czyli stworzyłbym klasę, która nigdy nie będzie miała obiektu a będzie istniała tylko po to, żeby być kontenerem na statyczne metody. Coś na tej zasadzie:
I teraz mam pytanie do Was ... ma to jakiś sens? (IMG:style_emoticons/default/biggrin.gif) Jakie jest prawidłowe podejście? Czy funkcje powinny "luzem" w kodzie leżeć a ja nie powinienem za wszelką cenę opakowywać wszystkiego w OOP? Pozdrawiam MD Ten post edytował MiChaSSs 28.11.2010, 22:45:51 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Może więc aart3k chodzi Ci o system helperów z Kohany? Bo nie wiem czy dobrze zrozumiałem. Podam przykład jednego z wbudowanych helperów Kohany:
które wywołuje się statycznie nazwa_helpera::nazwa_metody(parametry) Oczywiście w Kohanie nie istnieje jeden taki worek, ale takich klas jest wiele, zazwyczaj w sensowniejsze grupy poukładana. Jak zauważono, dobrze napisany skrypt nie potrzebuje ich, ale nieraz zamiast pisać kod od razu "ciurkiem" od razu poprawnie, wygodniej sobie takie klasy zdefiniować, by nie powtarzać co i rusz tego samego kodu, wielokrotnie długiego. Widząc niektóre jednak można się śmiać (patrząc na helper Array zobaczyć można ile to wywołania wariacji array_push/pop/shift czy innych wbudowanych), ale dla nie sięgających głębiej w bebechy frameworka takie pomocne dodatki są wybawieniem. Sam nieraz sobie pisze takie by przykładowo zamiast kilkunastu linijek kodu zgrabnie kod ująć jednym wywołaniem. |
|
|
|
MiChaSSs [OOP] Klasa tylko z funkcjami statycznymi 28.11.2010, 22:45:07
skowron-line Helpery to klasy ze statycznymi metodami możesz zr... 28.11.2010, 22:49:07
Crozin Takie konstrukcje są pozbawione sensu z punktu wid... 28.11.2010, 23:02:49
MiChaSSs A istnieje jakis standard, który by definiował co ... 29.11.2010, 18:44:08
mike Cytat(skowron-line @ 28.11.2010, 22... 30.11.2010, 09:44:40 
skowron-line Cytat(mike @ 30.11.2010, 09:44:40 ) A... 30.11.2010, 10:02:49
marcio CytatTak mi się napisało, poza tym helpery nie mus... 30.11.2010, 12:35:10
Zyx Z funkcjami jest taki problem, że nie podlegają au... 30.11.2010, 22:58:02
aart3k Reasumując: biorąc pod uwagę ograniczenia PHP (wła... 1.12.2010, 12:43:34
Quadina Zgodzę się z użytkownikiem aart3k na prawie całej ... 1.12.2010, 13:56:09
Crozin Hmmm... faktycznie brak autoloadera to już poważna... 1.12.2010, 14:36:57
aart3k @Crozin: you missed the point, chodziło o klasę To... 1.12.2010, 15:27:22
athabus Ja mam cały zbiór klas pomocniczych. Nazwałem go C... 1.12.2010, 15:51:43
MiChaSSs Okej, czyli poprawiając mój pierwszy, aby upewnić ... 1.12.2010, 17:36:28
aart3k nie wiem czy z abstracta można wywoływać statyczne... 1.12.2010, 18:52:28 
mike Cytat(MiChaSSs @ 1.12.2010, 17:36:28 ... 1.12.2010, 21:18:08 
MiChaSSs Cytat(aart3k @ 1.12.2010, 18:52:28 ) ... 1.12.2010, 22:37:23 
manro Cytat(MiChaSSs @ 1.12.2010, 23:37:23 ... 2.12.2010, 16:55:45
athabus Dokładnie jak kolega wyżej pisze. Twoje zastosowan... 2.12.2010, 17:04:01 
MiChaSSs Cytat(manro @ 2.12.2010, 16:55:45 ) A... 2.12.2010, 18:23:28
smentek Cytat(MiChaSSs @ 2.12.2010, 19:23:28 ... 10.12.2010, 17:27:26
mike Cytat(smentek @ 10.12.2010, 17:27:26 ... 13.12.2010, 08:54:30 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 02:10 |