Javascript 在哪里使用闭包库实例化嵌套组件?
闭包库提供了组件的基本生命周期: 实例化 渲染/装饰 文件输入 文件退出 处置 我关注的是前两个。关于设计模式,什么时候最好在第一步实例化嵌套组件 实例化:需要保留属性,直到通过addChild添加,并在必要时消耗内存。无论如何,由于它接收到的参数,它允许进行一些依赖注入或更好的初始化 渲染/装饰:打乱dom的创建,这可能已经很复杂,因为它需要其他对象的引用。它还需要以前存储在某些属性中的实例化参数。无论如何,保持实例化直到需要为止Javascript 在哪里使用闭包库实例化嵌套组件?,javascript,design-patterns,dependency-injection,instantiation,google-closure-library,Javascript,Design Patterns,Dependency Injection,Instantiation,Google Closure Library,闭包库提供了组件的基本生命周期: 实例化 渲染/装饰 文件输入 文件退出 处置 我关注的是前两个。关于设计模式,什么时候最好在第一步实例化嵌套组件 实例化:需要保留属性,直到通过addChild添加,并在必要时消耗内存。无论如何,由于它接收到的参数,它允许进行一些依赖注入或更好的初始化 渲染/装饰:打乱dom的创建,这可能已经很复杂,因为它需要其他对象的引用。它还需要以前存储在某些属性中的实例化参数。无论如何,保持实例化直到需要为止 可能在实例化后调用一个单独的方法来包装渲染?我这样问是因为Cl
可能在实例化后调用一个单独的方法来包装渲染?我这样问是因为Closure Library的书和文档没有提到这一点。进行重构并尝试拆分逻辑,得出以下结论: 到目前为止,我发现最好的选择是在createDom方法内创建组件: 通常情况下,组件所需的参数涉及它们所提供的数据。我的体系结构使用DAO,这意味着所有数据对象都可以方便地连接。子组件通常需要父级DAO可以访问的其他数据对象。因为父对象需要这个DAO,所以可以将它存储在属性上,以便在createDom中使用 另一件事是,理论上,createDom组件中的实例化和渲染只需要两行代码,这并不混乱 同样,这是增强凝聚力的最佳解决方案