Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Likeri
5 / 5 / 1
Регистрация: 14.12.2011
Сообщений: 92
#1

Паттерн проектирования «Фасад» - C++

17.12.2012, 21:37. Просмотров 917. Ответов 2
Метки нет (Все метки)

Здравствуйте. Можете по простому объяснить про паттерн проектирования «Фасад», его плюсы, минусы, для чего он...Читая на различных сайтах информацию о нем, все так заумно написано, что трудно понять, хотелось бы узнать о этом шаблоне вашими словами(не заумными). Прошу извинения за такой вопрос.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 21:37     Паттерн проектирования «Фасад»
Посмотрите здесь:

Объектно-ориентированного проектирования и проектирования на основе структур данных - C++
Помогите решить задание, так как вообще не понимаю, что тут можно сделать. Решить задание с помощью объектно-ориентированного...

Шаблоны проектирования - C++
Шаблоны проектирования, их реализация на С++. Кто знает какие-то хорошие книги, поделитесь :)

Шаблоны проектирования - C++
Подскажите пожалуйста. Есть 2 задачи. На шаблон "Абстрактная фабрика" и шаблон "Команда". 1. #include "stdafx.h" #include...

Ошибка проектирования класса - C++
Начал писать класс дробей, но сразу же наткнулся на какие-то ошибки, не могу понять как исправить. head.h: #ifndef HEAD_H #define...

Задача проектирования архитектуры - C++
добрый день. недавно дали первое моё самостоятельное задание. ну, как самостоятельное, просто мне дали в этом задании полную свободу...

Паттерны проектирования (Фабрики) - C++
Добрый вечер. Есть игра "Морской бой" из учебника Павловской Т.А . Задача: добавить в ней какой-либо шаблон проектирования. Я...

Методы проектирования по информационной безопасности - C++
Описание: В настоящее время отличается большой актуальностью проблема защиты авторских прав разработчиков ПО. Незначительная модификация...

Паттерн Builder - C++
Вот у меня есть код примера реализации паттерна Builder(другие примеры не предлагать). В классе Army надо как-то исправить код так, чтобы...

паттерн и строка C++ - C++
Возникла необходимость производить поиск в строке по паттерну, который может содержать символ '*' и '?'.Например: искать в строке "abcdefg"...

Паттерн стратегия - C++
Всем привет! Начал изучать паттерны. Одним из наиболее понятных и интересных мне оказался паттерн Стратегия. Я начитался статей и...

Паттерн декоратор - C++
доброго времени суток уважаемые форумчане, помогите пожалуйста разобраться, где я допустил ошибку? суть программы в том что бы слова...

Паттерн Singleton - C++
Мне вот дали такой код как паттерн Singleton: #include "stdafx.h" template <class T> class SingletonS { static int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2012, 22:17     Паттерн проектирования «Фасад» #2
Если очень коротко, то мы прячем вызовы методов некоторых классов за вызовом метода нового класса, который и является фасадом. Это должно повысить читаемость кода
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
17.12.2012, 22:42     Паттерн проектирования «Фасад» #3
Окей. Представьте себе... менеджер памяти того же C#. Ну или даже менеджер памяти Си++. Это вагон с тележкой разнообразных подсистем: поколения, список недавно использованных блоков памяти, список свободных блоков, обходилка всей доступной памяти, какой-то менеджер глобальных параметров, а ещё менеджер собственно виртуальной памяти в системе, а у него свои списки.... А если посмотреть на саму виртуальную память, то там ещё кучи объектов режима ядра, какие-то PTE, кеши MMU и т. п. Всё это дико перевязано между собой, кто-то на кого-то полагается, кто-то кому-то отчитывается, полнейшая санта-барбара.

В общем, весь этот ансамбль работает, чтобы вы могли написать new Something() и получить указатель свой объект, не задумываясь о том, сколько там всего за кулисами происходит. Вот вам и типичный фасад.

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

Естественно, можно делать и фасады внутри фасадов, к которым обращаются фасады. Это просто уровень абстракции. Единственная проблема, которая с ними может возникнуть — это когда их слишком много и все они "текут" (не могут скрыть ту сложность, которую должны скрывать).
Yandex
Объявления
17.12.2012, 22:42     Паттерн проектирования «Фасад»
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru