在Solar模型系统中有很多组件类,还有相关的企业应用级设计模式的描述。
-
Solar_Sql_Model 扮演表数据网关和数据映射(尽管当前不支持IdentityMap )的角色,这让你能够从数据库中获取数据行并且能把它们转换为记录和集合。它使用 MetadataMapping 存储数据表的字段信息和索引信息,并且支持单表继承和自增字段的处理逻辑。
-
Solar_Sql_Model_Record 代表与数据和业务逻辑方法的单一实体。这看起来有点像ActiveRecord,但它依赖于与数据库交互的模型/映射对象,所以它不是一个真正的 ActiveRecord。
-
Solar_Sql_Model_Collection 代表相同模型中的记录对象的集合。
-
Solar_Sql_Model_Related 描述模型之间的关系,并且负责协调相关数据的查找。它使用了外键映射和关联表映射模式。
-
最后,Solar_Sql_Model_Catalog 提供一个途径让你凭名字就能够从类栈中获取模型对象的实例,再也不需要每次使用模型对象的时候都去实例化它。这样模型目录中,每个模型仅有一个实例,那么就能极大地减少资源消耗。(你可以把模型目录看成是专门为模型对象建的对象注册表。)