“几何图形引擎是一个复杂的需求,现在进行三块的划分还是太笼统了,必须进行细分,不然这么多的人也参与不进来。”陈东风开门见山的说。
?对于复杂的需求,架构设计通过对系统抽象分解,把复杂系统拆分,最终拆分成一个个小的功能,单个功能的开发难度,则是清晰的、简单的。其次,拆分功能可以帮助组织人员一起高效协作。对复杂系统的抽象拆分后,开发人员可以独自完成功能模块,最后通过约定好的接口协议集成。这样最终各个开发小组规模不大,既有效协作,又能各自保证战斗力。
???陈东风想法一下子说出了在场人员的心理,前面几次开发软件的规模远远比不上现在的CAD项目,大家心理都没有底,而陈东风的方法让他们豁然开朗。
“如果按照你说的组织人员和技术把系统和团队拆分,安排好拆分后的排列关系,让拆分后的部分能通过约定好的协议相互通信,共同实现最终的结果。那么该怎么用合适的编程语言和协议,把框架、技术组件、数据库等技术或者工具有效组织起来,一起实现需求目标呢?”杨光问出了关键问题。
陈东风也是有备而来,他是项目的发起人,对整个项目最为清晰,他不经勾勒好了几何图形引擎的框架,甚至还勾勒出了CAD软件的框架。
“开发图形引擎的目的就是对底层二维、三维图形系统库的全部使用细节进行了抽象,并提供了基于现实世界对象的接口,那么在开发CAD软件时候使用少量代码就能构建一个完整的三维图形,这是我们的目的。”陈东风先简单回顾了下图形引擎的目的。
接下来陈东风为大家展示了他设计的可扩展分层程序框架——拥有高效率和高度可配置的资源管理器,采用高效的网格资料格式储存模型数据,并且具有清晰、整洁的设计以及全面的文档支持。
当然其中很多都是想法,能不能实现还要再说。不过他的可扩展分层框架还是很有特点的。该框架把一个根节点作为是所有几何图形的入口点,用于配置系统内的其它对象,必须最先创建和最后释放。渲染系统设置图形的渲染属性并执行渲染操作。图形管理器负责组织几何图形,生成并管理几何图形的各个参数。
图形组织原理是将图形划分成抽象的多个空间,这些空间还可以划分成多个子空间,每个空间由一个图形节点来管理。
将大量图形节点按照空间的划分层次组织成树状结构,从而完成对整个几何图形的有序组织。
除了杨光以外,另外三人都是半路出家,看了陈东风画出了这一系列框图,不免的有点目眩神离。因为陈东风根本就没有提到具体的接口协议以及具体的实施办法。
杨光倒是若有所思...
?