REFERENCEПочему шаблон фасада + показывает модульный шаблон «добавить безопасность»?
По ссылке: Ниже более продвинутая версия шаблона фасада, что повышает уровень защиты внутренних методов.
Вопрос: Честно говоря, что они означают добавить безопасность? Кроме того, что было бы небезопасным примером? Наконец, что было бы простым, но реальным прецедентом для безопасности и этот фасад + раскрытие шаблона модуля?
var MyModule = (function(window, undefined) {
// revealing module pattern ftw
function MyModule() {
function someMethod() {
alert('some method');
}
function someOtherMethod() {
alert('some other method');
}
// expose publicly available methods
return {
// in our normal revealing module pattern, we'd do the following:
someMethod : someMethod,
// in the facade pattern, we mask the internals so no one has direct access by doing this:
// HOW DOES THIS MASK THE INTERNALS? WHAT DO THEY MEAN BY ADDS SECURITY?
someMethod : function() {
someMethod();
}
};
}
}) (окно);
Это означает, что никто не может изменить подпись функции. но он все равно может быть полностью заменен, что делает всю идею несколько глупым. если он имеет доступ к закрытию, то это имеет смысл. – dandavis
Подождите, так что для раскрывающего шаблона модуля вы можете переназначить someMethod: но используя шаблон фасада, вы не можете переназначить someMethod? –
не могли бы вы показать практический пример? Я просто немного смущен. –