W Django sugerowana architektura oprogramowania polega na umieszczeniu logiki biznesowej i dostępu do danych w modelach.modele django = logika biznesowa + dostęp do danych? Lub warstwę dostępu do danych należy oddzielić od modelu django?
Jednak niektórzy współpracownicy sugerowali, że warstwa dostępu do danych powinna być oddzielona od logiki biznesowej (warstwa usług biznesowych). Ich uzasadnieniem jest to, że warstwa dostępu do danych może izolować zmiany, jeśli używane jest inne źródło danych. Mówią też, że istnieje logika biznesowa, która może występować w więcej niż jednym modelu.
Ale kiedy zaczynam kodowanie przy użyciu osobnych warstw dostępu do danych i logiki biznesowej, warstwa dostępu do danych jest prosta (w zasadzie kod modelu, który definiuje schemat bazy danych) i nie wydaje się dodawać wiele wartości.
Czy naprawdę warto oddzielić dostęp do danych od modeli django, czy django zapewnia już wystarczającą warstwę dostępu do danych za pomocą ORM?
Poszukuję programistów, którzy wdrożyli sporą liczbę aplikacji django i zobaczą, jaka jest ich opinia. Dotyczy to małej i średniej wielkości aplikacji internetowej.
Warstwa dostępu do danych to ORM. ** jest ** oddzielone od modelu. Nie zmienisz ORM-ów. ** ** zmienisz silniki baz danych; i jest to już zrobione trywialnie przez warstwę ORM. Nie jest jasne, co twoi koledzy rozumieją przez "warstwę dostępu do danych". Czy możesz podać więcej informacji? –
możliwy duplikat [Rozdzielenie logiki biznesowej i dostępu do danych w django] (http://stackoverflow.com/questions/12578908/separation-of-business-logic-and-data-access-in-django) –
@the_drow: OT: czy możesz przestać sprawdzać robo i zwracać uwagę na zmiany? [Ta sugerowana edycja] (http://stackoverflow.com/review/suggested-edits/3992632) była oczywistym komentarzem, a nie sugerowaną zmianą, która powinna zostać zaakceptowana. –