Если (1), то в коде вряд ли появятся классы например, ServerRequest, FileResizer, Form и т.п. очень часто приходиться видеть код, глядя на который кажется, что программист руководствуется простым правилом: если нельзя «положить в базу» — класс создавать незачем. Очень хрчется разобраться в этой теме.
Проавильно ли я понял?:
Пункт а — запись БД, расширенную дополнительными функциями — Используете ли вы ORM?
Пункт б — абстрактное представление сущности (модели), с хранимыми в БД данными — Используете ли вы абстрактные классы для работы с базой данных.
Я же вам сказал, если вы пользуете концепцию ORM и user в данном случае модель
— то да, характерно, хотя и зависит от конкретной реализации.
а теперь представьте себе, что user вообще может не работать с базой,
зачем тогда ему dbrow?..
Вы топик некорректно назвали.
Нужо было что-то вроде этого:
PHP: Что представляют из себя модели в Вашем ORM-приложении?
Я понял, что Вам не понравилось название. Тем не менее, большенство людей понимают, что я спрашиваю, отвечают на вопрос и я получаю нужную мне информацию.
Да, вопрос заключается именно в этом: «Что представляют из себя модели в Вашем ORM-приложении?»
Моё мнение — что реализация «class User extends DbRow {» ущербнее «class User {». В любом случае.
Хочу «прощупать почву» и поделиться мыслями об этом в следующем топике.
Например в моем коде, класс — это элемент сущности (Пользователь, Статья) для определенного слоя (контролер, модель). А где хранить данные — вообще без разницы (модель решает). но больше подходит под описание пункта 2.
Что-то среднее. Юзаю Yii, там есть базовый класс CModel с наследниками CActiveRecord и CFormModel. Естественно можно реализовать свой тип модели. А вообще, граница между 1 и 2 пунктом бывает очень размыта.
думаю что нет. Помнится, еще великий гуру всех паттернистов М. Фаулер, если мне не изменяет память, обижался на неправильные ассоциации модели и базы данных
второй вариант. вообще опрос немного некорректный, я уже сам разобрался (прямо как в анекдоте). Я хотел спросить — используете ли Business Objects или Technology-based objects. Тоесть оттталкиваетесь от домена(отрасли), для которого приложение разрабатывается, или от технологии, которая применяется.
помимо моделей данных (само собой) сущностями может являтся, например, тот же класс HtmlForm, File, TcpClient и другие. Ибо в моём понимании форма, файл, или соедниение tcp — это сущности.
Я лишь хотел сказать, что приложение должно представлять из себя совокупность сущностей, не обязательно хранимых/представляемых в БД.
PHP: Что представляют из себя класс\объект в Вашем WEB-приложении?