Маскировка области видимости в js
Apr. 13th, 2013 12:35 amРедкий случай, когда я не знаю, как оно называется в мире ООП. Мож кто подскажет?
Функция SomeNewClass – конструктор, скажем, переданный откуда-то со стороны. Объект syslib содержит какие-то системные методы.
Скажем, нам надо, не важно для каких целей, ограничить видимость объекта syslib из экземпляра SomeNewClass несколькими безопасными методами. Это делается вот так:
var syslib = { loadSafe: function() {/*some code*/}, loadUnsafe: function() {/*some code*/}, save: function() {/*some code*/}, purge: function() {/*some code*/} }; var SomeNewClass = function (syslib) { return { doSomething: function() {/*some code with syslib calls*/}, doAnything: function() {/*some code with syslib calls*/} } } var item = SomeNewClass ({ loadSafe: syslib.loadSafe, save: syslib.save });
В результате методы объекта item будут видеть только два безопасных метода библиотеки syslib. Как это называется?