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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Естественно, можно делать и фасады внутри фасадов, к которым обращаются фасады. Это просто уровень абстракции. Единственная проблема, которая с ними может возникнуть — это когда их слишком много и все они "текут" (не могут скрыть ту сложность, которую должны скрывать).
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 22:42
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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