Przykład aplikacji napisanej jako OOP we współpracy z bazą danych - szukam?

0

W nawiązaniu do tematu wątku, zacznę może od tego, iż czuje że programista ze mnie średni, a chciałbym podnosić swoje umiejętności i nauczyć się jak powinien wyglądać poprawnie napisany program zorientowany obiektowo wykorzystujący bazę danych..

Dotychczas programy "bazodanowe", które pisałem jak teraz na to patrze, były "zlepkiem" kodu, który ostatecznie tworzył ostatecznie rozwiązanie, ale kod obsługujący bazę danych cały czas "przeplatał się" z kodem interfejsu i całej aplikacji... Nie istniał żadnej większy podział na klasy.. wszystko było praktycznie w 1-2 plikach..

Poszukałem trochę w sieci informacji na temat tworzenia obiektowo zorientowanych aplikacji, jednak nie mogłem znaleźć żadnego przykładu który przedstawiałby aplikacje wykorzystującą bazę danych, bo chciałbym zobaczyć jak to wygląda na "prawdziwym" kodzie..

Dotychczas znajdywałem jedynie jakieś przykłady w postaci diagramów klas (np. model klas przedstawiający pracownika-klienta-sprzedaż-faktura.. co też było pomocne), ale brakuje mi "żywego" kodu..

W związku z tym chciałbym zwrócić się do Was o pomoc - czy znacie jakieś strony, które zawierają dostępny kod tego typu aplikacji służących jako przykład? (lub czy jeśli wy posiadacie coś takiego w swoich zasobach, moglibyście je udostępnić do wglądu ?)

Z tym, że chciałbym dodać iż nie szukam rozwiązań opartych na hibernate i tego typu frameworkach, gdyż z tego co doczytałem one "automatycznie" mapują obiekty na relacyjny model bazy danych, tak ?

Ja szukam bardziej "ręcznych" przykładów gdzie kod mógłby wyglądać mniej więcej tak:

if (magazyn.czyFilmDostepny(tytul)){
    Film film = magazyn.pobierzFilm(tytul);
    klient.dodajFilm(film);
0

Słowem, szukasz jak napisać własny ORM? Sprawdź biblioteki w stylu DataMapper, Mongoid, Hibernate, etc. jak one są napisane "od środka".

0

Hm.. wydaje mi się, że szukam takiego rozwiązania (przykładu), które było stosowane przed wydaniem framework'ów typu hibernate..
Jak to było robione z wykorzystaniem tylko C++ i bazy danych, bo z tego co mi wiadomo hibernate wykorzystuje XML'a do mapowania tych obiektów..

0
mareKO napisał(a):

Z tym, że chciałbym dodać iż nie szukam rozwiązań opartych na hibernate i tego typu frameworkach, gdyż z tego co doczytałem one "automatycznie" mapują obiekty na relacyjny model bazy danych, tak ?

Tak, robią to automatycznie (na podstawie pewnej konfiguracji albo konwencji). A ponieważ w naturalny sposób operują na obiektach, to są bardzo fajne pod względem OOP i dobrze ich używać (ale nie zawsze).

Zanim istniały ORMy stosowało się np. takie podejścia (wzorce):

  1. Repository;
  2. Table Data Gateway;
  3. Row Data Gateway;
  4. Active Record.

Przykładów i definicji poszukaj w necie.

0

@somekind - dzięki za "nakreślenie" sprawy.

Ale jakby co nadal czekam na jakiś "gotowy" kod wykorzystujący m.in. te wzorce co wymienił somekind :)

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