Переосмысление книги Эдди Османи «Паттерны для масштабируемых JavaScript-приложений»: различия между версиями
Материал из support.qbpro.ru
imported>Supportadmin (Новая страница: «Андрей Климов. ---- Спасибо команде переводчиков за их огромный труд. Сам перевод находит…») |
imported>Supportadmin Нет описания правки |
||
Строка 38: | Строка 38: | ||
module.facade({run:true, val:10}); // Текущее значение: 10, процесс запущен</nowiki> | module.facade({run:true, val:10}); // Текущее значение: 10, процесс запущен</nowiki> | ||
Попробуем его применить к практике. Напишу асинхронный модуль, который возвращает список всех файлов в директории и всех вложенных поддиректориях определенным расширением (.html). |
Версия от 22:11, 1 апреля 2014
Андрей Климов.
Спасибо команде переводчиков за их огромный труд. Сам перевод находится здесь
Итак, скорее всего будет не профессионально, но как есть. (А то сам забудешь и другие не вспомнят)
В главе 9 предложен клевый шаблон проектирования - фасад. Вот его скелет
var module = (function() { var _private = { i: 5, get: function() { console.log('Текущее значение:' + this.i); }, set: function(val) { this.i = val; }, run: function() { console.log('процесс запущен'); }, jump: function() { console.log('резкое изменение'); } }; return { facade: function(args) { _private.set(args.val); _private.get(); if (args.run) { _private.run(); } } } }()); module.facade({run:true, val:10}); // Текущее значение: 10, процесс запущен
Попробуем его применить к практике. Напишу асинхронный модуль, который возвращает список всех файлов в директории и всех вложенных поддиректориях определенным расширением (.html).