Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Persist Abstrack Layer
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Mam pytanie odnośnie podejścia do persist abstract layer. Chce stworzyć własną warstwę perystencji oparta o symfony. Moje zalozenie jest takie, że jeżeli Klient zechce zmienić doctrine ORM na coś innego to nie chce aby aplikacja sie rozwalila. Chce zrobić to tak ze utworze abstrakcyjna klase do której wstrzykne doctrine i utworze kilka metod np. find ($ id) w tej metodzie bede korzystał z doctrine i repozytorium. System będzie uzalezniony od moich metod a nie Doctrine.. czy ten kierunek jest odpowiedni coś powinienem zmienic?


Bede wdzięczny za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Jeżeli widzisz w tym jakiś głębszy sens to oki ale czy zdajesz sobie sprawę, że:
- Metod jest troszkę więcej niż find() czy persist(), i nadpisywanie ich to kawał roboty
- Jeżeli będziesz w przyszłości próbował wykorzystać inny ORM, to może nie być wcale takie proste np. użycie kilka razy flush() w jednej transakcji wrzuca na stos "zadnia" w zadanej kolejności - czy inny ORM będzie robił to samo?

Dla mnie nie ma to najmniejszego sensu (IMG:style_emoticons/default/wink.gif) jeżeli miałbym przewidywać "co w przyszłości, może klientowi strzelić do łba", to nigdy nie skończyłbym żadnego projektu..
Go to the top of the page
+Quote Post
Xelah
post
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


Ja w tym nie widzę niczego nadzwyczajnego. To jest zupełnie normalne podejście do tematu. Model domeny nie ma prawa wiedzieć niczego o persistence.

To persistence zależy od modelu a nie model od persistence. Możesz warstwie persistence może użuć sobie Doctrine czy Propela albo dowolnego innego rozwiązania. Oczywistym jest, że zmiana, na przykład, Doctrine na Propel to nie zadanie na dzień czy dwa ale to nie ma prawa wþlywac na model domeny. Czyli takie rozdzielenie warstw ma jak najbardziej sens, ale wszystko zależy od wielkości projektu. Jak masz do napisania prostego bloga, gdzie logiki biznesowej prawie nie ma, to nie widzę większego sensu. Ale jak piszesz aplikację typu ecommerce czy klasy enterprise, to nawet nie wyobrażam sobie nie rozdzielenia tych warst.

Model to nie baza danych i łączenie ich ma rację bytu tylko jesli model jest na prawdę prymitywny. W każdym innym przypadku model nie ma prawa wiedzieć niczego o persistence.

Pierwszy przykład z brzegu: możesz na przykład zrobić własne klasy repository z interfejsami, które później wstrzykujesz do modelu, żeby zapewnić wymaganą funkcjonalność.

Poczytaj o enterprise architecture. Metod na rozdzielenie tych warst jest całe multum.
Go to the top of the page
+Quote Post
Matrix12
post
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Możecie mi os polecić opartego o PHP / Symfony2
Go to the top of the page
+Quote Post
Xelah
post
Post #5





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


Tutaj nie znajdzesz gotowców. Niestety to jest coś, co zależy w 100% od logiki biznesowej. Nie ma tutaj gotowaca, którego sobie zainstalujesz i śmiga.
Niestety takie rzeczy trzeba oprogramować samemu z zależności od potrzeb.
Go to the top of the page
+Quote Post
Matrix12
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Największy problem to perystencja i wszelkie joiny.. Samo pobranie danych jest okej..
Go to the top of the page
+Quote Post
Xelah
post
Post #7





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


Nie bardzo rozumim... co jest dokładnie problemem?
Go to the top of the page
+Quote Post
ctom
post
Post #8





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

Ostrzeżenie: (0%)
-----


może to Cię zainspiruje 4Developers2015: Overly Attached ORM (W. Chojnacki)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 17:46