Фасад: поверхностный вид или иллюзия чего-то: им удалось как-то сохранить фасад богатства.
Очень интересный шаблон проектирования, который я использую, обеспечивает защиту кода и доступ к тем функциям, которые вы возвращаете из инкапсулированного объекта. Стоит доля.
- Скрывает реализации
- упрощает API (в приведенном ниже примере показана только функция фасада)
- Пространство имен> Анонимная функция
var module = (function() { var _private = { i: 5, get: function() { console.log('current value:' + this.i); }, set: function(val) { this.i = val; }, run: function() { console.log('running'); }, jump: function() { console.log('jumping'); } }; return { facade: function(args) { _private.set(args.val); _private.get(); if (args.run) { _private.run(); } } } }()); module.facade({ run: true, val: 10 }); //outputs current value: 10, running