OOP podział na klasy

0

Witam wszystkich
Trochę się z programowaniem bawiłem, ale raczej było to tylko programowanie strukturalne. Ostatnio zacząłem też interesować się programowaniem obiektowym i o ile pojęcia klas, metod i pól mam opanowane, jakieś proste aplikacje zbudowane z klas jestem w stanie napisać, to mam problem z bardziej rozbudowanymi rzeczami, jak to podzielić na klasy. Chciałbym zrobić jakiś prosty serwis internetowy (np. wypożyczalnia samochodów) z logowaniem, dodawaniem samochodów na stronę, z możliwością wypożyczania itp. Tylko mam problem, bo chciałbym to zrobić raz że obiektowo, a później, ewentualnie od razu w frameworku (tutaj na poczatęk chciałem spróbować CodeIgnitera). O ile coś takiego strukturalnie pewnie bym napisał bez większych problemów, to już z podziałem na klasy mam problem. Jak powinien wyglądać podział na klasy w takim serwisie? Jak się za to w ogóle zabrać? Jakąś literaturę\kursy tego dotyczącą polecicie?
I jeszcze pytanie, jak zabrać się za frameworki MVC? Jakieś dobre źródła informacji poza dokumentacjami polecicie?
Z góry dzięki za pomoc

0

CodeIgniter akurat ma dosyć przyjazną dokumentację, obadaj: http://www.codeigniter.com/user_guide/.

0

Problem, który napotkałeś jest jedną z największych zagadek programowania obiektowego i właściwie całą jego istotą. Nie ma jednego dobrego rozwiązania jak powinna wyglądać struktura klas dla danego problemu. Nauka "dobrego myślenia obiektowego" wymaga trochę czasu, a z pewnością należałoby zacząć od podstaw (tutaj polecam pozycję "PHP5. Zaawansowane programowanie", by E. Lecky-Thompson, H. Eide-Goodman, S.D. Nowicki, A.Cove) i poznania głównych zasad. Później warto zapoznać się z wzorcami projektowymi (i tutaj znowu: "PHP. Obiekty, wzorce, narzędzia", by Matt Zandstra). Oprócz samej wiedzy zbudowanie dobrego modelu obiektowego wymaga trochę doświadczenia. Na pewno Twoje pierwsze projekty nie będą idealne, ale trzeba od czegoś zacząć. Co do frameworków, to ogólne założenia MVC są dosyć proste, a to pozwala już na jednym z początkowych etapów nauki zacząć się bawić z frameworkiem - tak jak Ty z CodeIgniterem.

Reasumując. Polecam zapoznać się z tą książką o zaawansowanym programowaniu (wbrew tytułowi traktuje ona o podstawach OOP w PHP), następnie zapoznać się z dokumentacją CodeIgnitera i spróbować stworzyć swój pierwszy projekt, a wtedy to już tuż za rogiem czekają na Ciebie wzorce projektowe ;) Powodzenia!

[Adam]

0
kchteam napisał(a):

Co do frameworków, to ogólne założenia MVC są dosyć proste, a to pozwala już na jednym z początkowych etapów nauki zacząć się bawić z frameworkiem - tak jak Ty z CodeIgniterem.

Ale nie zapominajmy o tym, że ogólne założenia MVC są tak proste, że praktycznie nikt ich nie rozumie i nie stosuje prawidłowo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1