Pracuję nad projektem Zend, mam na myśli inny projekt Zend, aby stworzyć nowy projekt Zend. Ale nie lubię ślepo podążać za tym projektem bez zrozumienia. W strukturze katalogów Zend w klasie Model są głównie dwa typy klas, które widzę, podobnie jak ww Zend, Dlaczego używamy klasy modelu DB i klasy Mapper jako dwóch oddzielnych?
- models
- DbTables
- Blog.php //Extends Zend_Db_Table_Abstract
- Blog.php // Contains methods like validate() and save()
- BlogMapper.php // Also Contains methods like validate(Blog b) & save(Blog b)
Dlaczego ta konkretna struktura jest przestrzegana? Czy należy oddzielić klasę obiektu i klasę modelu bazy danych?
Proszę wyjaśnić.
Krótko mówiąc: tak. Czego oczekujesz jako odpowiedzi? (side: kiedy 'Blog' ma metody' save() 'i takie, to bardziej implementacja rekordów aktywnych, a mniej model w rozumieniu modelu-odwzorowania-koncepcji) – KingCrunch
@KingCrunch, chcę wiedzieć, dlaczego to czy użyto struktury? Czy nie możemy bezpośrednio użyć jednej klasy do przechowywania wartości w bazie danych? Właśnie zacząłem zendem, to jest wny. Nie znasz przyczyny tego wzorca? –
Nie czytałem odpowiedzi, więc domyślam się, że gdzieś tam jest odpowiedź. Krótka przyczyna to po prostu: Oddzielenie logiki biznesowej i dostępu do danych. – KingCrunch