Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: тестовое задание на php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: необходимо реализовать систему, в которой можно регистрироваться, добавлять/просматривать/редактир овать/удалять продукты..
lalexa
Отправлено: 25 Декабря, 2014 - 21:00:58
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




Возник вопрос архитектуры такого приложения. java разработчик предложил использовать следующий подход.

Создаю сущность User с полями соответствующими полям в таблице бд, геттерами и сеттерами к ним. Далее создаю DAO слой. UserDAO интерфейс, в котором основные методы для работы с бд (crud). Потом создаю класс UserDAOImpl, который имплементирует UserDAO. Далее создаю слой сервисов, схема такая же: интерфейс - UserService и класс UserServiceImpl. Потом создаю контроллер UserController.

В итоге получается такая схема: Controller-Service-DAO

Хочу попросить совет, насколько это правильный подход, используется ли он при разработке на php?

Спасибо!


Отредактировано модератором: DeepVarvar, 26 Декабря, 2014 - 02:44:52
Вы тут новенький. Будьте внимательнее с дублированием тем. Устное предупреждение.
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Декабря, 2014 - 02:55:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Да, такой подход используется в php.
Есть CRUD, есть ActiveRecord.
В целом архитектура верна.

Но!
Хотя джавист прав, он прав отчасти и только со свей колокольни.
JAVA прекомпилируется единожды т.к. выполняется в виртуальной машине.

PHP же будет делать подключение+разбор+интерпретацию кучи файлов на каждый вызов.
И не важно каким макаром запущен интерпретатор, mod_apache или CGI/fpm - жрать все это будет нехилые ресурсы.

Если на ресурсы плевать - вперед и с песней.

Если не плевать - делать придется значительно проще, и чем меньше будет сущностей, тем быстрее это будет работать.
У меня есть успешный опыт такого подхода.
И, хотя многим, присутствующим на форуме, мой подход не нравится, он не джавистский, называют они его "экономия на спичках", все согласны с тем, что работает оно быстрее и жрет мало ресурсов.
Спичек я наэкономил мноого ))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB