2.体系架构(System Architecture)EDSim中的图形引擎架构采用 较为标准的DirectX 调用逻辑,内部组件相对独立,组件一经注册后,引擎将对各个功能模块自适应地进行调用(不同组件模块会有不同的调用逻辑)。EDSim核心引擎采用单线程以保证效率,基本体系完全采用C++和STL开发,支持Win32,采用UNICODE,具备良好的可移植性。 2.1 组件对象模型(COM) EDS对多数复用组件采用了基于COM思想的抽象接口IEDSUnknown。
2.2 组件行为模型(CAM)应用程序中任何组件或者模块都有特定的调有逻辑,有的模块需要一次初始化就够了,而有的模块则需要不断被调用以更新自身的状态。对于常规应用程序(包括网络应用、数据库应用、DirectX图形应用等),EDSim将各种组件按照行为需求抽象为几种基本的抽象类型。 2.3 EDSim支持组件(EDSim Support Modules - SM)EDSim积木式地加载各种组件,虽然整个进程范围只具有一个Singleton——EDSim Core Engine(ECE),但是由于ECE对基本支持组件进行了绑定,所以各支持组件在项目进程的任意位置任意时刻均可以快速访问。在应用了包装支持组件指针的宏之后,所有的支持组件都可以被看作单体(Singleton)来访问。 新的研究组件(Research Modules)或者技术模块一旦产生,均可以作为新的支持组件(支持积木)被ECE绑定。这样,EDSim本质上是无限可扩展的。 |