концепция
Режим появления (режим фасада) является относительно простым и вездесущим режимом. Режим внешнего вида обеспечивает высокоуровневый интерфейс, что облегчает вызов клиентов или подсистем.
Режим появления не является режимом адаптера, режим адаптера - это обертка для адаптации интерфейса для использования его в несовместимой системе. Создание элементов внешнего вида - это удобство. Он не используется для работы с системами клиентов, которые требуют определенных интерфейсов, а для обеспечения упрощенного интерфейса.
Примеры кода JavaScript
Используйте простой кусок кода, чтобы выразить его
var getName = function () {return '' svenzeng "} var getSex = function () {return 'man'}Если вам нужно позвонить в функции GetName и GetSex соответственно, вы можете использовать интерфейс более высокого уровня getUserinfo для его названия.
var getUserinfo = function () {var info = a () + b (); вернуть информацию;}Может быть, вы спросите, почему вы не написали код GetName и GetSex вначале, например, в начале
var getnameAndsex = function () {return 'svenzeng " +" man ";}Ответ очевиден. Повара кулинарных столовых не жарят эти два блюда в одном кастрюле только потому, что вы забронировали жареную утку и капусту. Он предпочел бы предоставить вам набор жареного утиного риса. Также при программировании мы должны убедиться, что функции или объекты находятся в разумной гранулярности, насколько это возможно. В конце концов, не всем любит есть жареную утку, а также любит есть капусту.
Еще одним преимуществом режима появления является то, что он может скрывать реальные данные реализации от пользователей, и пользователи заботятся только о интерфейсе самого высокого уровня. Например, в рассказе о жареное утиное рисовое блюдо вам не волнует, сначала ли Мастер сначала делает жаркую утку или жаркую капусту, и вам все равно, где выросла утка.
Наконец, я написал пример образца внешнего вида, который мы все использовали
var stopevent = function (e) {// block событие по умолчанию поведение и пузырьки одновременно e.stoppropagation (); e.preventdefault ();}Я знаю, что концепция шаблонов внешнего вида легко освоить, и вам не обязательно нужен пример кода JavaScript, но некоторые люди всегда больше заботятся о коде и будут думать, что это будет легче понять. Более того, статьи JavaScript без образцов кода вообще не убедительны, поэтому они должны быть удалены из Интернета. Давайте начнем с простого примера слушателя событий. Все знают, что добавить слушателя событий нелегко, если вы просто не хотите, чтобы код работал в нескольких браузерах. Вы должны проверить множество способов убедиться, что код для разных браузеров работает должным образом. В этом примере кода мы просто добавляем обнаружение функций в этот метод:
функция addEvent (element, type, func) {if (window.addeventListener) {element.AddeventListener (type, func, false); } else if (window.attachevent) {element.attachevent ('on'+type, func); } else {element ['on'+type] = func; }}Это просто! Я действительно хотел бы, чтобы я не мог написать ненужные коды, что делает их проще, но если это так, это было бы бессмысленно, и вы не захотите читать это, верно? Так что я так не думаю, я думаю, что хочу показать вам что -то более сложное. Я просто хочу сказать, что ваш код будет выглядеть примерно так:
var foo = document.getElementById ('foo'); foo.style.color = 'red'; foo.style.width = '150px'; var bar = document.getElementbyId ('bar'); bar.style.color = 'red'; bar.style.width = '150px'; var baz = document.getElementbyId ('baz'); baz.style.color = 'red'; baz.style.width = '150px'; var baz = document.getElementbyId ('baz'); baz.style.color = 'red'; baz.style.width = '150px';Слишком хромает! Вы сделали то же самое для каждого элемента! Я думаю, что мы можем сделать это немного проще:
Функция setStyle (элементы, свойство, значение) {for (var i = 0, length = elements.length; i <length; i ++) {document.getElementById (Elements [i]). Style [Property] = value; }} // Теперь вы можете написать таким образом: setStyle (['foo', 'bar', 'baz'], 'color', 'red'); setstyle (['foo', 'bar', 'baz'], 'width', '150px');Как вы думаете, наш NB сломлен? Вы забыли это! Мы программисты JavaScript! Можете ли вы использовать мозг, чтобы получить реальные вещи? Может быть, мы сможем установить все стили только один раз. Проверьте это:
функция setStyles (elements, styles) {for (var i = 0, length = elements.length; i <length; i ++) {var element = document.getElementbyId (elements [i]); для (var свойства в стилях) {element.style [свойство] = styles [свойство]; }}} // Теперь вам просто нужно написать таким образом: setStyles (['foo', 'bar', 'baz'], {color: 'red', width: '150px'});Если у нас есть много элементов, которые хотят установить тот же стиль, то этот код действительно экономит нас много времени.
Преимущества режима появления:
Цель использования режима появления состоит в том, чтобы упростить программисты писать комбо -код один раз, а затем использовать его неоднократно, что помогает сэкономить время и усилия. Предоставьте упрощенный интерфейс для некоторых сложных проблем.
Метод внешнего вида удобен для разработчиков. BIN предоставил относительно высокие функции, снижая зависимость от внешнего кода и добавив некоторую дополнительную гибкость в разработку систем приложений. Используя режим внешнего вида, можно избежать жесткой связи с базовой подсистемой. Таким образом, система может быть изменена без влияния клиентского кода.
Недостатки режима появления:
Иногда элементы внешнего вида также могут принести ненужную дополнительную бремя. Прежде чем внедрить некоторые процедуры, вам следует тщательно рассмотреть их практичность. Иногда по сравнению со сложной функцией внешнего вида, ее функция композиции более привлекательна с точки зрения силы. Это связано с тем, что функции внешнего вида часто могут выполнять задачи, которые вам не нужны.
Для простого личного веб-сайта или небольшого количества маркетинговых страниц может быть не разумно импортировать эту библиотеку JavaScript для небольшого улучшенного поведения, такого как подсказки и всплывающие окна. Подумайте о том, чтобы использовать только несколько простых элементов внешности в это время, а не библиотеку, полную этих вещей.
Функции внешнего вида обеспечивают простой интерфейс для выполнения различных сложных задач, которые облегчают поддержание и понимание кода. Они также могут ослабить связь между подсистемами и клиентским кодом. Объедините общие функции, которые часто появляются вместе. Этот режим очень часто используется в сценариях DOM, который требует непоследовательных интерфейсов браузера.