Паттерны проектирования

Kadiz

Active Member
При прочтении уже второй главы Java Эффективное програмирование (Джошуа Блох) столкнулся с шаблонами проектирования и отсылкой на книгу Э.Гамма Приемы обьектно-ориентированого проектирования (Паттерны проектирования).

У Гамма все весьма абстрактно :) Хотелось бы узнать, насколько это полезная(применимая) вещь на практике.
 
Останнє редагування:

Hamster

Well-Known Member
Полезно ясен пень, но лучше тратить свое время на изучение разных технологий/фреймверков.
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Как показывает практика, сложные паттерны из книг в чистом виде, как правило, применимы только в идеальном мире. В реальном же мире обычно они немного видоизменяются и подстраиваются под текущую задачу. Для понимания абстракции более чем достаточно.
Вот Hamster дело говорит. Лучше тратить время на изучение пары-тройки технологий фреймворков.
Или вообще на функциональное программирование. Мозги здорово прочищает.
 

Kadiz

Active Member
Вот наткнулся, как раз по теме (jQuery, Объект callbacks)


Объекты callbacks и deferred помогают легко реализовывать концепцию Publisher/Subscriber ( ). Она незаменима, когда группа объектов должна знать состояние других объектов. Первые объекты называют подписчиками (наблюдателями), а вторые писателями (наблюдаемыми). Вместо того, чтобы постоянно проверять актуальное состояние писателей, подписчики могут просто подписаться на его изменение. А когда оно произойдет, писатели сами оповестят об этом всех своих подписчиков.
Продемонстрируем как с помощью callbacks можно организовать собственные компоненты. Для этого реализуем набор сообщений (например форума), с системой подписчиков.
You must be registered for see images

Этот небольшой плагин можно будет использовать для подписки и оповещении о публикации новых сообщений, например так:
You must be registered for see images

Как вы видите, получившийся плагин оказался удобным. Однако он имеет один недостаток — методы предназначенные для "писателей" будут доступны и для наблюдателей. Это таит в себе потенциальную опасность. По хорошему, эти функции должны быть доступны только внутри объектов, ответственных за публикацию сообщений. Этого можно добиться, если использовать для этих целей , которые могут предоставлять своих заместителей с ограниченной функциональностью.
 

Вкладення

Зверху