Возник вопрос архитектуры такого приложения. java разработчик предложил использовать следующий подход.
Создаю сущность User с полями соответствующими полям в таблице бд, геттерами и сеттерами к ним. Далее создаю DAO слой. UserDAO интерфейс, в котором основные методы для работы с бд (crud). Потом создаю класс UserDAOImpl, который имплементирует UserDAO. Далее создаю слой сервисов, схема такая же: интерфейс - UserService и класс UserServiceImpl. Потом создаю контроллер UserController.
В итоге получается такая схема: Controller-Service-DAO
Хочу попросить совет, насколько это правильный подход, используется ли он при разработке на php?
Спасибо!
1. lalexa - 25 Декабря, 2014 - 21:00:58 - перейти к сообщению
2. DeepVarvar - 26 Декабря, 2014 - 02:55:40 - перейти к сообщению
Да, такой подход используется в php.
Есть CRUD, есть ActiveRecord.
В целом архитектура верна.
Но!
Хотя джавист прав, он прав отчасти и только со свей колокольни.
JAVA прекомпилируется единожды т.к. выполняется в виртуальной машине.
PHP же будет делать подключение+разбор+интерпретацию кучи файлов на каждый вызов.
И не важно каким макаром запущен интерпретатор, mod_apache или CGI/fpm - жрать все это будет нехилые ресурсы.
Если на ресурсы плевать - вперед и с песней.
Если не плевать - делать придется значительно проще, и чем меньше будет сущностей, тем быстрее это будет работать.
У меня есть успешный опыт такого подхода.
И, хотя многим, присутствующим на форуме, мой подход не нравится, он не джавистский, называют они его "экономия на спичках", все согласны с тем, что работает оно быстрее и жрет мало ресурсов.
Спичек я наэкономил мноого ))
Есть CRUD, есть ActiveRecord.
В целом архитектура верна.
Но!
Хотя джавист прав, он прав отчасти и только со свей колокольни.
JAVA прекомпилируется единожды т.к. выполняется в виртуальной машине.
PHP же будет делать подключение+разбор+интерпретацию кучи файлов на каждый вызов.
И не важно каким макаром запущен интерпретатор, mod_apache или CGI/fpm - жрать все это будет нехилые ресурсы.
Если на ресурсы плевать - вперед и с песней.
Если не плевать - делать придется значительно проще, и чем меньше будет сущностей, тем быстрее это будет работать.
У меня есть успешный опыт такого подхода.
И, хотя многим, присутствующим на форуме, мой подход не нравится, он не джавистский, называют они его "экономия на спичках", все согласны с тем, что работает оно быстрее и жрет мало ресурсов.
Спичек я наэкономил мноого ))