做视频找空镜头那个网站比较全网络广告营销方案策划
按照面向对象设计(Object-Oriented Design, OOD)的信条,OOD大体上包括两方面的内涵:一方面,需要将业务数据抽象成(树状/层状)数据对象,这就是所谓的数据对象模型(Data Object Model);另一方面就是职责的分摊与聚合,将业务逻辑分摊到数据对象,数据对象之间通过预定义的接口完成交互,也就是所说的面向接口编程(Interface-Oriented Programming)。
因此,数据对象通常由属性、方法等构成,而属性系统自然就会成为数据对象模型的主要研究内容。
Ref. from Acise: A CAx Industrial Software Ecology
As for a general CAx application software, it's usually a touch requirement to manage the application-specific data and its related business logic. Following the object-oriented design, data should be modeled as objects which can have a few of properties. Usually, these data objects can be grouped into a hierarchy of objects. The method to organize these objects is called 'data object model'. In addition, users are willing to interact with these data objects through UI elements. These UI elements present these data objects, fetch user events from users and make appropriate reactions.
在FreeCAD中,借助于Observer Pattern,实现了对象属性管理,可以说,属性系统是FreeCAD中极其重要的组成部分。因此,有必要对其予以分析总结。同时,也非常希望本文对从事国产CAx(CAD/CAE/CAM)软件研发的朋友们有所帮助。
注1:限于研究水平,分析难免不当,欢迎批评指正。
注2:文章内容会不定期更新。
一、属性与属性容器
二、 SelctionModel
三、属性显示与编辑
四、扩展与演练:ACISE中的属性系统
参考文献
- Erich Gamma. Design Patterns:elements of reusable object-oriented software. Addison Wesley, 1994.
- Joseph Ingeno. Software Architect's Handbook. Packt Publishing, 2018.
网络资料
FreeCADhttps://www.freecad.org/
Acise: A CAx Industrial Software Ecologyhttps://blog.csdn.net/qq_26221775/article/details/133831665?spm=1001.2014.3001.5501大型CAx(CAD/CAE/CAM)软件研发中的职责编排
https://blog.csdn.net/qq_26221775/article/details/136975550?spm=1001.2014.3001.5501 FreeCAD源码分析:FreeCADApp模块
https://blog.csdn.net/qq_26221775/article/details/113789364?spm=1001.2014.3001.5502