Разделение уровней и ООП

whirlwind

TDD infected, paranoid
ЗЫ. Ну не знаю, по моему мы в теме.

Фронт контроллер это который

Problem

The system requires a centralized access point for presentation-tier request handling to support the integration of system services
?

Дык это типа service locator для запросов насколько я понимаю, т.е. одна точка входа.
 

mars37

Новичок
ну ты крут, привел тут задачу, с конкретными проблемами и вопросами, а теперь идеологию обсуждать решил...
Как раз идеологию я и хотел обсудить. А конкретику привёл только для примера.

Я вижу тут обсуждают детали и проблемы, относящиеся к MVC. Т.е. подразумевается неявный ответ: "используй паттерн MVC", правильно? Наводку понял, почитаю, разберусь...
Другие советы, мнения, технологии будут?
 

whirlwind

TDD infected, paranoid
> Другие советы, мнения, технологии будут?

Вряд ли. Видишь ли, MVC довольно свободно трактуется, даже из топика видно. Просто говоря MVC большинство сразу понимают о каком уровне абстракции идет речь. А реализация может быть самой произвольной.
 

master_x

Pitavale XXI wieku
whirlwind
именно то. так у меня в этой точке входа происходит определение контекста для модели. Короткий пример:
Код:
class Fieldfayre_Backend {
    function run()
    {
         ...
         $farm= new Farm;
         $farm_controller= new Farm_Controller;
         $farm_controller->create($farm);
         ...
     }
}

class Farm_Controller extends VPF_CRUD {
      function create($farm)
      {
          ...
          $farm->area_id=$user->getArea();
          $farm->save();  
      }
}
вот так вот, пример примитивного бэкэнда.
 

Фанат

oncle terrible
Команда форума
mars37
Ты очень многого хочешь =)
Если ты думаешь, что твой вопрос такой же проходной, как "составление синтаксически верного запроса SQL" или "формирование заголовоов НТТР", то ты сильно заблуждаешься.

То есть, мнения, конечно, будут. Но ты пойми. что даже пресловутый MVC - это всего лишь попытка натянуть ООП парадигму на веб. На размазанное между клиентом и сервером приложение. Кривая и косая попытка. Но хоть существующая. А ты хочешь, чтобы тебе накидали идей махом =)
Лучшие умы бьются над озвученными проблемами, и пока никто ничего путного не придумал.
Это я всё не для того, чтобы принизить тебя говорю, а чтобы ты представлял себе, чего ждать от ответов. Не слишком многого.

Хорошо гуи писать под MFC - родил всё от окна, и почесал дальше. А тут - непонятно, от кого потомков делать - от базы или от отображения. В гуях, опять же - все многочисленные объекты один раз запустил, память им отвёл - всё мигает и крутится. А тут? Всё дерево объектов поднял... выполнил один метод, и всё. на выход! Через секунду новый запрос пришёл - поднимай всё сначала!

Отсюда и попытки как-то что-то изобрести.
По твоим вопросам скажу так:
Прекрасно твой TUser пусть работает с данными.
А вот отображением пусть занимается шаблонизатор. Это такой слой, который отвечает за визуализацию И всё, что ему нужно от тебя - это данные. Ну, вот их и должен ему TUser предоставить.
Если говорить в терминах MVC, то контроллер, при запросе формы авторизации, дёргает, грубо говоря, два метода:
сначала метод TUser, который получает данные для отображения, а потом - методы шаблонного движка, которые этими данными заполняют шаблон и выводят его пользователю.
при получении статистики - тоже самое: контроллер получил запрос на статистику, сначала запустил TUser для получения данных, потом шаблонизатор - для отображения.
 

whirlwind

TDD infected, paranoid
Блин, ну то же самое получаецо. Farm_Controller Это что? Фронт контроллер только выбирает контекст, но не реализует его. Или я гдето не допонял...
 

mars37

Новичок
Если ты думаешь, что твой вопрос такой же проходной, как "составление синтаксически верного запроса SQL" или "формирование заголовоов НТТР", то ты сильно заблуждаешься.
Нет конечно, я так не думаю :)))
 

master_x

Pitavale XXI wieku
whirlwind
здесь за определение контекста отвечает не Farm_Controller а Fieldfayre_Backend (он же большущий фронт-контроллер).
 

whirlwind

TDD infected, paranoid
здесь за определение контекста отвечает не Farm_Controller
Фронт контроллер только выбирает контекст, но не реализует его
Например:

1. в контексте статистики продаж адверт используется для лефтджойна и группировки в запросе выборки суммы за...

2. в контексте формы редактирования адверта он используется так-то и так-то

3. в контексте статистики по реферерам адверт используется для группировки URL-ов

и т.п.

-~{}~ 16.12.06 19:16:

PS. ИМХО у нас путаница, потому что на входе фронт контроллера один контекст - контекст интерфейса, а перед моделью еще один - контекст использования каждого отдельного элемента модели.
 

master_x

Pitavale XXI wieku
whirlwind
просто разные задачи. от этого и путаница. я про простые CRUDы для ферм и фермеров... а вы про статистику и тд. и т.п. =)
 

BeGe

Вождь Апачей, блин (c)
Автор оригинала: whirlwind
Блин, ну то же самое получаецо. Farm_Controller Это что? Фронт контроллер только выбирает контекст, но не реализует его. Или я гдето не допонял...
Так и получается.
 
Сверху