DAL 采用一种灵活的、非侵入式的机制来暴露游戏角色的属性信息。 其中两大基础组件就是角色代理和角色属性。角色代理组件就是对底层游戏角色的一个封装,维护单个游戏角色的所有属性信息。而属性组件通过提供对单个游戏角色的所有属性的属性数据访问器来暴露角色的属性数据。 这点类似 Java 中的 Javabean 的属性访问器。 角色代理知道它的属性,属性知道如何访问属性数据。这两个组件被用来提供在不修改游戏角色原始代码的情况下访问它们底层数据的能力。采用这种数据驱动组件,而不是直接访问游戏角色,大大增强了对数据的封装和代码的可重用性。