上下文定义了可以从哪里访问依赖项,从而定义应用程序的“层”。projectContext 用于创建项目范围的全局依赖项,因此可以从任何地方访问,sceneContext 是下一个,因此所有 projectContext 依赖项都将可用,但反之则不行。我将其理解为一种访问修饰符,例如public
,private
等,但根据统一世界,显然没有编译警告,而是运行时错误。
容器与上下文:
据我了解,上下文通过子容器实现了这种访问模块化,因为我们可以在同一上下文中拥有子容器,并且容器可以由不同的上下文共享,那么概念上的区别是什么?据我了解,上下文是框架根据统一世界建议的“规范”或标准层,因此您有上下文 monobehvaiour 类来根据统一的哲学 Project->Scene->Gameobject 在编辑器中定义这些层...等等。容器是依赖包本身,根据 continer 层次结构处理依赖项的访问并保存依赖项处理的所有功能,因为绑定仅对容器本身及其子项可见. 所以上下文确实为这个层提供了容器的可变性。
据我了解,如果在场景上下文中定义,在装饰器上下文中定义的绑定除了有机会看到每个场景的安装程序、预制件、可编写脚本等之外没有任何区别。
根据这个推理,我不明白装饰器上下文的目的,具体来说就是容器与场景上下文共享这一事实。这只是为了在编辑器中查看每个场景中出于某种审美目的而装饰了哪些类,还是它具有一些架构/功能优势?