представлять
Facade обеспечивает постоянный интерфейс для набора интерфейсов в подсистеме. Этот модуль определяет интерфейс высокого уровня, который стоит более простой в использовании в этой подсистеме.
текст
Режим внешнего вида не только упрощает интерфейсы в классе, но и отделяет интерфейсы от вызывающих абонентов. Паттерн внешнего вида часто считается необходимым для разработчиков, он может инкапсулировать некоторые сложные операции и создавать простой интерфейс для вызова.
Режим внешнего вида часто используется в библиотеке классов JavaScript. Через это он заключает в себе некоторые интерфейсы для совместимости с несколькими браузерами. Режим появления позволяет нам косвенно вызовать подсистемы, тем самым избегая ненужных ошибок, вызванных прямым доступом к подсистемам.
Преимущество режима появления состоит в том, что он прост в использовании и также является легким. Тем не менее, есть также недостатки. Когда режим внешнего вида постоянно используется разработчиками, он вызовет определенные проблемы с производительностью, поскольку доступность функций должна быть обнаружена каждый раз, когда его называют.
Ниже приведена кусок нептимизированного кода. Мы используем режим внешнего вида для создания метода использования кросс-браузера путем обнаружения характеристик браузера.
Кода -копия выглядит следующим образом:
var Addmyevent = function (el, ev, fn) {
if (el.addeventlistener) {
el.addeventlistener (ev, fn, false);
} else if (el.attachevent) {
el.attachevent ('on' + ev, fn);
} еще {
el ['on' + ev] = fn;
}
};
Давайте возьмем еще один простой пример. Чтобы прямо сказать, используйте один интерфейс, чтобы инкапсулировать другие интерфейсы:
Кода -копия выглядит следующим образом:
var mobileVent = {
// ...
Остановка: Функция (e) {
e.preventdefault ();
e.stoppropagation ();
}
// ...
};
Суммировать
Итак, когда использовать режим внешнего вида? Вообще говоря, есть три этапа:
Во-первых, на ранней стадии дизайна вы должны сознательно разделить два разных слоя, такие как классическая трехслойная структура, чтобы установить фасад внешнего вида между уровнем доступа к данным и слоем бизнес-логики, слоем бизнес-логики и уровнем презентации.
Во -вторых, на стадии развития подсистемы часто становятся все более сложными из -за непрерывной реконструкции и эволюции. Добавление внешнего вида в фасад может обеспечить простой интерфейс и уменьшить их зависимости.
В -третьих, при поддержании большой устаревшей системы может быть трудно поддерживать эту систему. В настоящее время он также очень подходит для использования фасада внешнего вида. Разработайте класс Facade для системы системы, чтобы обеспечить более четкий интерфейс для разработки грубого и очень сложного устаревшего кода, позволяя новой системе взаимодействовать с фасадными объектами, а фасад взаимодействует с устаревшим кодом.
Ссылка: режим проектирования больших разговоров