Attr命名空间下实现了Mangalore里的动态属性. 属性是编译期间类型安全的key/value对, 这是数据库(database)子系统的基础.
如图, AttrId相于属性类型, 而AttributeDefinition是属性类型的定义, 其中包含了属性名, 属性的四字节码, 值类型和访问类型(读/写). 也就是说, AttrId是AttributeDefinition的实例.
实际使用时我们关心的是Attribute类.
那么使用Attribute有什么好处呢? 我觉得最大的好处是可以把某个对象的属性进行抽象化, 不用每个属性都设置一个成员变量. 对于序列化来说, 有了Attribute我们可以不用关心具体的成员变量而对所有的Attriubte进行统一的处理. 仅仅是增加一个属性成员的话, 是不用对类的代码进行更改的. 我想每个游戏的Character类做需求做到最后, 成员变量的数目变得很吓人吧? 为了保证访问控制还要写上一大堆的get/set方法, 代码行数到最后根本控制不住. 而有了Attribute, 我们只需要知道属性名就可以动态的增加或减少属性了, 这对于脚本化也提供了及大的便利性, 呵呵.
分享到:
相关推荐
Nebula3 命令行应用程序向导 有建议的加我MSN交流
Nebula模拟器Nebula模拟器Nebula模拟器Nebula模拟器
Nebula3的应用程序向导, 咋时先做个命令行的方便初学者学习用 有建议的加我MSN交流
这个插件暂时只能导出nvx2的网格,如果需要导出n3格式的文件,请关注后续的开发
3-3 Nebula Graph v3 ——开源分布式高性能图数据库
nebula3中加载xml格式的n3文件,代码修改在各个ModelNode类型的节点类中
Nebula 提供了一组自定义的SWT控件和其它UI组件。 将nebula.zip解压到eclipse的安装目录下的dropins文件夹中clean方式重启eclipse
A game engine and framework. It is built to be portable to various platforms, including the consoles and the iPhone. It has been used in commercial projects.
图数据库nebula的前端展示界面
java-nebula客户端集成(csdn)————程序
常用的模拟器. 这是汉化版的,用着比较方便.
nebula图数据库V2.6.0
这是Nebula PaperClips的打印例子,PaperClips的版本为1.0.4。
docker手动搭建3台nebula分布式集群,持久化配置的meta、graph、storage配置文件demo。
Nebula2的游戏架构,对了解引擎的架构有些帮助
nebula3 是一个游戏引擎和开发框架,可移植的特性支持多平台,包括 iPhone。
脱壳的nebula225b 修正处理了无法扫描到全部游戏子Rom问题|汉化修正绿色特别版
nebula-graph-3.2.0.el7.x86_64 安装包,包含客户端console
Docker搭建分布式集群nebula操作手册,亲自操作整理,无坑。
渲染程序向导, 演示RTPlugin的用法