Комментарии 21
вот теперь то я понял, что именно я реализовывал… делал, а названия не знал.
спасибо за статьи. Просто, кратко, понятно.
спасибо за статьи. Просто, кратко, понятно.
Пожалуйста :)
Как раз начал изучение паттернов =). Если я верно понял, то Фасад-это просто класс, объединяющий результаты работы некоторых объектов других классов? (наверно глупо поставленный вопрос, просто мне так проще=> лучше запомнится… И вообще кажется понимание паттернов-совсем не сложно, а я сейчас читаю «Банду 4-ех», так там все описано ОТЛИЧНО, но сложно =( Хотя и это, возможно, только для меня так и я не нашел верного подхода к изучению паттернов по ней… Читаю, разбираю, а они забываются в нужных ситуациях примениться). Спасибо за статьи.
Это нормально. Паттерны — это не только готовые рецепты для написания нового кода, но и средство для описания и наведения порядка в имеющемся.
Я так понимаю, любой «продвинутый» контроллер может являться фасадом. Например, как раз он и может осуществлять авторизацию, помимо выполнения своих основных функций.
Здесь, кстати, полезно провести параллели с шаблоном Builder — этот шаблон может не только «создавать», но и «настраивать» произвольное количество объектов, скрывая всю сложность от клиента.
Здесь, кстати, полезно провести параллели с шаблоном Builder — этот шаблон может не только «создавать», но и «настраивать» произвольное количество объектов, скрывая всю сложность от клиента.
На самом деле, многие из нас неявно используют те или иные паттерны. Но четкое понимание их устройства и применимости к ситуациям приносит больше пользы, чем их неявное использование. Плюс знание имен паттернов очень помогает при общении, когда тебя с полуслова понимают: «берем синглтон», «вот тут используй визитора», «а вот здесь нужен адаптер». Еще один момент — при намеренном использовании паттернов часто используются соответствующие имена или префиксы для классов, их реализующих, например, ConnectionFactory, XMLNodeVisitor — это позволяет легко распознавать паттерны при чтении кода.
Синглтон — это уже антипаттерн. Просто к слову :)
С каких это пор?
Да вот как-то так неожиданно случилось. Основной недостаток — сложность тестирования. Отличная замена синглтонам — тулкит. Тулкит, правда, сам является синглтоном, но единственным в проекте, а при правильной реализации (не монолитный класс, а набор тулзов) лишен всех недостатков обычного синглтона.
какая есть литература и источники конкретно по паттернам проектирования?
По паттернам для веб-разработчиков есть отличная книга Фаулера «Архитектура корпоративных приложений». Еще здесь очень неплохо изложено.
Еще есть design-pattern.ru/. Там много всего (в основном — переводы фаулера). про фасад рассказано здесь design-pattern.ru/patterns/remote-facade.html
Фасад, на мой взгляд, один из наиболее простых для понимания паттернов, и его действительно часто многие используют, даже не зная о нем.
То есть фасадом является, например, любой унифицированный интерфейс для плагинов навроде того же CallService миранды?
Можно ли поправить текст статьи? Текст программы отображается в виде HTML кода: https://habrastorage.org/files/c64/f30/61c/c64f3061ce2a4c59afaab14477fd9bc9.png
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Паттерн проектирования «Фасад» / «Facade»