@startuml
skinparam componentStyle uml2
skinparam packageStyle rectangle
 
package 引擎核心类 {
  class EngineContext {}
  
  
  class  aModule {
    + (string) moduleId;
  }
}

package model.ts自动生成 {
  
  
  interface iJSIOpen {
    // auto generated by model.ts
    + (void) open:(...,callback:Func);
  }


  abstract class aJSIOpenModule extends  aModule implements iJSIOpen{ 
    // auto generated by model.ts
    + (void) open:(...,callback:Func)
    # abstract (void) _open:(...,callback:Func)
  }
}

  
package JSI实现{

  class JSIOpenModule extends aJSIOpenModule {
    - Opens: Map<string,iOpen>;
  }
  
 
  
} 
  

EngineContext o--  aModule : aggregation


@enduml
