LiteMda Design Ver 0.1

 

基于昨天双鱼座和ccBoy的建议,对LiteMda的设计作了部分修改,主要改变的部分如下:

1、不再从Tables生成,而是先从XMI生成一个Xml Profile For Model,再由该Profile生成Tables及其他配置文件和代码,生成Tables方面计划采用Provider模式,以使数据库类型对程序员透明,这样还有几点好处,一是解除代码生成和XMI的耦合,二是,如果有部分元数据不能直接从XMI获得,也可以由用户在该Profile中补充;

2、对于Domain Objects,希望能实现对程序员透明的O/R Mapping,实现“继承、聚合、合成、关联、Hierarchy”五种类关系,将XMI中指定的类attribute和methods,分别分解到两组接口,关于五种关系的映射方式,期待看看双鱼座兄在Kanas.Net 1.3地实现方式;

3、增加Business Objects这一层,用以实现主要的业务逻辑,并向Business Manager暴露自定义接口以接受其管理,这一层也相当于ccBoy所说的“Action/Services Agent层”;

-----------

关于XMI还是E/R Model来承载元数据的问题,我还是倾向于XMI,主要还是其通用性和可扩展性方面的优势,并且,通过XMI我可以在UML中指定类的行为,目前虽然只用到静态类图,但将来解析其他动态图也不是不可能,而XMI描述信息不全的问题,则通过修改Xml Profile For Model的方式来扩展。

//文章结束

原文地址:https://www.cnblogs.com/teddyma/p/191164.html