Голосование

Вам интересен этот доклад?

Да
Нет

Автор Тема: ZFConf 2010: Zend Framework и MVC, “толстая” модель  (Прочитано 2498 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Zh0rzh

  • Модератор
  • Герой
  • *****
  • Сообщений: 999
  • Карма: 65
Тема доклада:  Zend Framework и MVC, “толстая” модель
Докладчик: Александр Стешенко (Norada Corporation, PHP разработчик)
Тезисы:

1.   МВЦ в деталях.
1.1.   Назначение контроллера, вида.
1.2.   Модель – логика приложения. Независимость/Изолированность Модели от других компонентов MVC триады.

2.   Реализация паттерна MVC в Zend Framework
Zend_Controller_Action,
Zend_Controller_Front,
Zend_Controller_Dispatcher_Standard,
Zend_Controller_Action_Helper_ViewRenderer,
Zend_View

3.   Понятие толстая/тонкая модель
3.1.   Что такое «тонкая» модель, её несоответствию паттерну MVC.
3.2.   Примеры кода.
3.3.   «Толстая» модель – это одновременно каждый фрагмент логики приложения и вся логика приложения в целом.
3.4.   Предметная (доменная) модель
3.5.   Наиболее часто используемые подходы и паттерны для реализации модели
3.6.   Примеры кода с пояснениями
3.7.   Недостатки подходов, связывающие данные, способ их хранения и структуру на объектах предметной (доменной) области.
3.8.   Достоинства Data Mapper – декомпозиция доступа к данным, легкий рефакторинг любого фрагмента приложения.
3.9.   Сервисный слой приложения, пример кода

4.   Общие советы по проектированию
4.1 Автоматизированное тестирование
4.2 ORM
4.3 Грамотное ООП, паттерны проектирования

Информация на сайте конференции: Zend Framework и MVC, “толстая” модель -->

===
Голосуйте, обсуждайте, задавайте вопросы! Докладчику будет важно ваше мнение!
Не забываем предварительно регистрироваться на конференциию. Нам сейчас очень важно собрать точную информацию о количестве участников
« Последнее редактирование: Февраля 01, 2010, 00:44:44 от Zh0rzh »
Оставляем и читаем отзывы о ZFConf 2010 Подробнее >>

Оффлайн lcf

  • lcf fan club
  • Герой
  • *****
  • Сообщений: 2166
  • Карма: 111
    • •LCF•
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #1 : Января 30, 2010, 02:18:01 »
Тезисы примерные! Мне очень важно знать ваши пожелания / рекомендации по поводу доклада, не стесняемся комментировать :)

Оффлайн Larkin

  • Опытный
  • ***
  • Сообщений: 71
  • Карма: 10
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #2 : Февраля 01, 2010, 10:02:00 »
имхо, если в докладе будет все что здесь заявлено и п.3, 4 не будут "пятиминуткой", то лично я буду в полном восторге.
god is real unless declared as integer

Оффлайн lcf

  • lcf fan club
  • Герой
  • *****
  • Сообщений: 2166
  • Карма: 111
    • •LCF•
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #3 : Февраля 01, 2010, 10:22:51 »
имхо, если в докладе будет все что здесь заявлено и п.3, 4 не будут "пятиминуткой", то лично я буду в полном восторге.
Пункт 3 будет основной. Четвертый пункт правда будет достаточно общего характера, но постараюсь так чтобы и он был максимально полезен.

Подумываю вот выделить Dependency Injection и добавить про Dependency Injection контейнеры и на примере показать как можно использовать в ЗФ приложении для конфигурирования сервисов.

А вообще жаль, что не комментируют.

Оффлайн Larkin

  • Опытный
  • ***
  • Сообщений: 71
  • Карма: 10
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #4 : Февраля 01, 2010, 10:34:08 »
Dependency Injection тоже интересно услышать
upd лично я знаю совсем немного из вашей темы, поэтому не могу оставить конструктивных пожелания / рекомендаций  ???
god is real unless declared as integer

Оффлайн atukai

  • Team
  • Опытный
  • ***
  • Сообщений: 194
  • Карма: 12
    • Web Development with Soul
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #5 : Февраля 01, 2010, 11:21:22 »
По 3.8. хотелось бы более развернутых утверждений. Желательно с примерами. А то, как я вижу, большинство не понимает зачем нужен Data Mapper и какие преимущества дает.
ZFied

Оффлайн ZloY

  • Team
  • Мастер
  • ***
  • Сообщений: 288
  • Карма: 16
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #6 : Февраля 01, 2010, 12:03:26 »
Ещё Сань хорошо было бы рассказать про частозадаваемые вопросы про датамапперы и их решения.
Например:
Что делать с domain object и paginator
Как реализуются one to many и many to many relationships желательно конечно с конкретными примерами

Потом ещё хотелось бы услышать подробнее про Zend_From в качестве валидаторов, и сервисный слой.
А так же не забыть рассказать про декораторы кэширования.
И  ещё таки про применение ACL к DDD и про слабую связность я тоже не очень то и понял:)

Оффлайн IgorN

  • Team
  • Герой
  • ***
  • Сообщений: 2046
  • Карма: 45
    • Мой сайт
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #7 : Февраля 01, 2010, 12:21:14 »
Ещё Сань хорошо было бы рассказать про частозадаваемые вопросы про датамапперы и их решения.
Например:
Что делать с domain object и paginator
Как реализуются one to many и many to many relationships желательно конечно с конкретными примерами

Потом ещё хотелось бы услышать подробнее про Zend_From в качестве валидаторов, и сервисный слой.
А так же не забыть рассказать про декораторы кэширования.
И  ещё таки про применение ACL к DDD и про слабую связность я тоже не очень то и понял:)

А смысл так глубоко рыть, если грядет использование доктрины все  "one to many и many to many relationships" уже должны быть реализован.
Как мне кажется надо копать именно в сторону реализация Дата маппера как поттерна корпоративного уровня.
Мне бы вообще хотелось увидеть реализацию именно с использованием доктрины 2.0. Т.е. Дата маппер + доктрина
Мой сайт: http://igor-negrutsa.info/
Я знаю только то,что ничего не знаю, а многие не знают даже этого.

Оффлайн chEbba

  • Team
  • Опытный
  • ***
  • Сообщений: 176
  • Карма: 17
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #8 : Февраля 01, 2010, 13:30:56 »
Всем привет, 1к лет здесь не был, но анонсы конференции по ЗФ меня настигли. С последнего моего появления здесь комьюнити выросло, а теперь еще и конференция (постараюсь приехать в Питер ради такого). Радует, что народ в большинстве интересуется реализацией паттернов и именно архитектурой, что говорит о безусловном росте.

А теперь по сабжу.
ДатаМаппер - это самый простой паттерн, и фактически является частью боллее сложного - DAO.
Т.е. стандартная схема Доменные объекты -> DAO -> Services -> Controllers -> View
Сейчас как раз работаю с Doctrine 2.0 и такой схемой (помимо БД используются и другие хранилища).

А чтобы использовать подобную схему, очень удобно применять DI через контейнер (а не плодить фабрики). В том же проекте я использую стендэлоун Symfony DI Container. Отказавшись от ресурсов Zend_Applicaiton совсем (т.к. вся конфигурация и доступ к ресурсом намного проще и понятнее управляется через тот же контейнер: так, например, используется один и тот же кэш в ZF и Doctrine через врапер).

Однако вторую часть можно вынести в отдельный доклад + добавить еще интересные возможности, которые нам дает единый контейнер (например, создание прокси-классов для вещей вплоть до AOP). И приправить все это аннотациями через DocBlock'и (которые используются в Doctrine 2.0, или с помощью Zend_Reflection_Docblock_Tag, или другими реализациями): настройка секьюрности, хелперы контекста или даже управление транзакциями.

Мне кажется такие вещи были бы очень интересны, так как это выходит за рамки дефолтных пхпшных проектов.
« Последнее редактирование: Февраля 01, 2010, 14:07:33 от chEbba »

Оффлайн lcf

  • lcf fan club
  • Герой
  • *****
  • Сообщений: 2166
  • Карма: 111
    • •LCF•
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #9 : Февраля 01, 2010, 14:15:06 »
Всем привет, 1к лет здесь не был, но анонсы конференции по ЗФ меня настигли. С последнего моего появления здесь комьюнити выросло, а теперь еще и конференция (постараюсь приехать в Питер ради такого). Радует, что народ в большинстве интересуется реализацией паттернов и именно архитектурой, что говорит о безусловном росте.

А теперь по сабжу.
ДатаМаппер - это самый простой паттерн, и фактически является частью боллее сложного - DAO.
Т.е. стандартная схема Доменные объекты -> DAO -> Services -> Controllers -> View
Сейчас как раз работаю с Doctrine 2.0 и такой схемой (помимо БД используются и другие хранилища).

А чтобы использовать подобную схему, очень удобно применять DI через контейнер (а не плодить фабрики). В том же проекте я использую стендэлоун Symponi DI Container. Отказавшись от ресурсов Zend_Applicaiton совсем (т.к. вся конфигурация и доступ к ресурсом намного проще и понятнее управляется через тот же контейнер: так, например, используется один и тот же кэш в ZF и Doctrine через врапер).

Однако вторую часть можно вынести в отдельный доклад + добавить еще интересные возможности, которые нам дает единый контейнер (например, создание прокси-классов для вещей вплоть до AOP). И приправить все это аннотациями через DocBlock'и (которые используются в Doctrine 2.0, или с помощью Zend_Reflection_Docblock_Tag, или другими реализациями): настройка секьюрности, хелперы контекста или даже управление транзакциями.

Мне кажется такие вещи были бы очень интересны, так как это выходит за рамки дефолтных пхпшных проектов.
Вы начали выступление? :) Ну так пока ещё рано =D да и если вы хотите выступить в качестве соавтора - обратитесь ко мне в личку с вашим предложением, я думаю мы сможем это провернуть, вроде бы вы в курсе "дел" и возможно с вашей помощью доклад можно было бы сделать гораздо лучше. Не интересует?

Тут же давайте попробуем оставаться в рамках пожеланий и рекомендация по составу доклада, а с самим докладом повременим. ;) А то для кого вы это?.. Это мне все известно и я попытаюсь раскрыть некоторые части того вы написали в рамках доклада. А спойлерить в другой теме пожалуйста - люди же все прочитают и не придут =) Вообще по вашему тексту у меня была бы пара замечаний, но, все же, не место.


ПС: вы не правильно симфони написали :)
ПС2: а что у вас за проект? Звучит хорошо.
ПС3: дата маппер - самый простой паттерн из всех паттернов? (-:


Всем остальным кто отписался на данный момент:
Уже вижу что всем не удасться угодить, потому как у всех разные взгляды на то что важно в контексте доклада. Заранее прошу простить за это,- возможно часть вопросов получиться ответить в разделе "вопросы", после того как я закончу с основной частью выступления.

Макс, спасибо за комментарий. В основном глубоко так конечно не будет, особенно по моментам не относящимся не посредственно к теме - иначе это просто будет нечто всеобъемлющее)) Но ты мне напомнил про "проблему отношений" и я думаю это действительно будет необходимо упомянуть и рассказать о том какие есть варианты и собсно в чем проблема. Так как прокси объекты (которые используются во второй доктрине) это не единственный способ провернуть этот "трюк"  с ленивыми жадными загрузками и прочими тонкостями.

Игорь и остальные кто высказались за Доктрин 2... честно говоря, думал обойти стороной, все таки это дело ещё в альфе. Но, я пересмотрю этот момент, думаю вы правы, потому как других достойных реализаций интересующего нас набора паттернов для пхп в открытом доступе попросту нет.

Насчет анотаций - это круто конечно и удобно иногда ... но уж распростроняться по этому поводу я вряд ли буду (иначе боюсь опять же времени не хватит) но в кратце думаю упомяну а там посмотрим если будут вопросы задавать.

DI Контенер однозначно будет.

Всем огромное спасибо, у меня уже формируются Тезисы 2.0 :) Продолжайте, если кто ещё что припоминает.


Оффлайн chEbba

  • Team
  • Опытный
  • ***
  • Сообщений: 176
  • Карма: 17
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #10 : Февраля 01, 2010, 19:04:22 »
Вы начали выступление? :) Ну так пока ещё рано =D да и если вы хотите выступить в качестве соавтора - обратитесь ко мне в личку с вашим предложением, я думаю мы сможем это провернуть, вроде бы вы в курсе "дел" и возможно с вашей помощью доклад можно было бы сделать гораздо лучше. Не интересует?

.............

ПС: вы не правильно симфони написали :)
ПС2: а что у вас за проект? Звучит хорошо.
ПС3: дата маппер - самый простой паттерн из всех паттернов? (-:

Да, что-то я переборщил =)
Отпишу в личку.

На счет доктрины, вроде бы, там отдельный доклад про это, возможно вам стоит скооперироваться, и часть информации вынести в этот доклад, а часть в доклад непосредственно про доктрину. Кстати, думаю, к конференции бета уже выйдет.

ЗЫ блин, я ж вроде правил написанное в попыхах =)
ЗЫ2 Подробности проекта не могу разглашать, так это выполнение заказы моей фирмой. Если кратко: довольно высоконагруженный проект с элементами социальщины (куда ж без нее). Просто есть возможность писать как хочется и как правильно =)
ЗЫ3 Это я просто неправильно выразился, конечно, это не самый простой, я имел в виду, что он как часть DAO может быть рассмотрен.

Оффлайн SpiLLeR

  • Новичок
  • *
  • Сообщений: 1
  • Карма: 0
    • D2Web
Re: ZFConf 2010: Zend Framework и MVC, “толстая” модель
« Ответ #11 : Февраля 03, 2010, 11:52:27 »
Если доклады будут идти в один поток, то попасть на все не удастся. Возможно попросить организаторов чтобы данный доклад шел до или после доктрины. Чтобы была возможность послушать оба доклада, хотя есть и еще интересные темы... ;)