![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Myślę, że tytuł jest dobry.
Otóż mam pewien problem. Gdy już w końcu uporałem się ze zrozumieniem na czym polegają różnice między klasą, obiektem, metodą, atrybutami pojawił się kolejny problem. Mianowicie, jak projektować klasy dla jakiejś aplikacji? Np. prosty blog. Jakie klasy należy napisać aby ten blog funkcjonował? Wiem, że nie należy pisać wszystkiego w jednym pliku, lepiej stworzyć więcej plików ale kod będzie przejrzysty niż jeden plik z 3 000 liniami kodu. Jednak jak się zabrać do tworzenia takiej aplikacji? Mam edytor UML który domyślnie wspomaga projektowanie struktury tych klas (pewnie posiada więcej możliwości). Mógłby ktoś pomóc? Mówiąc szczerze oczekuję nie tyle gotowego kodu każdej klasy co opisania jakie klasy są potrzebne i jakie metody - tak abym mógł zrozumieć istotę projektowania a następnie pisania obiektowo. Jeśli byłby to screenshot z jakiegoś programu UML to byłoby jeszcze lepiej (IMG:style_emoticons/default/smile.gif) P.S. Myślę, że także dotyczy ten temat projektowania aplikacji w innych językach np. Java. Pozdrawiam i liczę na pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
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 ![]() |
Nie do końca to samo, ale wariację tego rozwiązania przeprowadzałem w panelu administratora, który jakiś czas temu popełniłem (w Kohanie). Klasa też była odpowiedzialna za formularz i wywołanie kontrolera standardowo czyli gołe index() było traktowane jak inicjalizacja nowego, czyli pustego de facto. Natomiast wywołanie index(int zmienna) robiło to o czym mówisz, czyli łączyło z bazą i uzupełniało formularz. Żeby nie było to wiem, iż mogłem w kontrolerze w Kohanie napisać metodę nowa w stylu edytuj($zmienna) lub cos w ten deseń i zazwyczaj tak robię, ale wtedy spróbowałem w opisany teraz sposob i też obyło się bez problemów. Przy czym oczywiście reagowałem dodatkowo na obecność zmiennych POST i uruchamiałem w razie tej sytuacji zapis do bazy. Gdy było w wywołaniu pusto to był INSERT, a gdy był parametr to był to UPDATE (IMG:style_emoticons/default/smile.gif) Tak więc to kwestia podejścia bardziej niż jakiegoś standardu. Ja akurat miałem taki pomysł i go zrealizowałem bez uciekania się do pisania dodatkowych metod w kontrolerze jak robi się zazwyczaj. Ot, taka odskocznia od standardowego podejścia.
EDIT: Napisałem "gołe" wywołanie bo w kontrolerze domyślnie miałem: Kod index($id = NULL) { i w ciele reagowałem na to co dostawałem jako parametr oraz ewentualny $_POST
ciało kontrolera; } Ten post edytował thek 18.09.2009, 23:27:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 22:21 |