[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Cмешивание логики и отображения
shultz1988
Отправил на днях решение тестового задания в компанию на вакансию веб-программиста и в списке минусов непринятого задания указали "смешивание логики и отображения". Где почитать о том как этого избежать? В гугле не банили, смог найти только ссылки на топики, есть ли какие то хорошие статьи на эту тему?

Ну и еще одним косяком указали "злоупотребление глобальными переменными". Ну да, я в одном подключаемом скрипте инициализирую класс, а во всех остальных юзаю его через global. Но почему это недостаток?



Спустя 30 минут, 49 секунд (9.12.2010 - 16:58) SlavaFr написал(а):
1)http://ru.wikipedia.org/wiki/Model-View-Controller
тут по поводу MVC тоже достаточно тем.

Цитата (shultz1988 @ 9.12.2010 - 13:27)
Ну да, я в одном подключаемом скрипте инициализирую класс, а во всех остальных юзаю его через global. Но почему это недостаток?

Во первых не класс инициализируеш а обйект этого класса.
А недостаток в том, что ты не какого контроля в скрипте на глобальные переменные не имееш.
$а=3;
funkzija1();
funkzija2();
funkzija3();
и вдруг в этом месте оказывается что $а равна 50 и нехрена не понятно когда и какая функция это зделала.

Спустя 19 минут, 13 секунд (9.12.2010 - 17:17) shultz1988 написал(а):
Тогда в моем случае вместо единственного объявления
$news = new news;
и дальнейшего использования
global $news;

нужно в каждой функции, где я буду использовать методы этого класса заново его определять? Мне не нужны результаты работы класса в других функциях.

Спустя 13 минут, 59 секунд (9.12.2010 - 17:31) inpost написал(а):
MVC - irbis-team.com

Спустя 5 минут, 37 секунд (9.12.2010 - 17:37) SlavaFr написал(а):
нет $news ты просто передаеш черз метод типа
public function setNews(news $news){ $this->news=$news;}
public function getNews(){ return $this->news=$news;}

и работай потом с ним дальше.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.