我正试图在Nicholas Zakas: Scalable JavaScript Application Architecture中了解究竟应该是什么沙箱?
我知道它是“Facade”模式,应该提供简单的API来隐藏底层系统的复杂性。
1)它应该为所有模块提供相同的API吗?如果是这样,我如何在Sandbox中强制执行方法的权限?例如,我不想允许ModuleB访问ModuleA和ModuleC中存在的Sandbox中的方法。
2)为每个模块提供相同Sandbox API的不同实例有什么意义?为什么Sandbox不能是模块之间共享的单个实例?