三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

基于Grove的.NET应用程序开发提示

时间:2022-7-3作者:未知来源:三度网教程人气:


基于Grove的.NET应用程序开发提示



1. 尽量避免新增映射实体类,主要表现在关系映射实体。当程序需要查询符合某种条件的记录时,往往需要通过关系映射实体进行查询,当该关系实体在其他调用者使用时,有时又因为缺少某些字段而需要向该关系映射实体新增查询字段或重新建立实体,所以在关系实体建立的时候,应尽量考虑其他调用者的需求,这样可以有效的避免关系映射实体的重复或因关系实体的改变而导致的其他不安定因素。

2. 避免在数据操作层中出现同样的功能(方法),尽管这些功能可能不属于同一个管理类。当调用者需要新增或修改(包括删除)一个实体(非关系实体)时,应首先检查Façade层中是否已经有该功能的存在,这要求数据操作层中所有管理类的编写者明确的注释好每一个方法的功能描述,要排除歧义。

3. 在实体映射时,如果该实体映射某个主表,一般应明确该主表对应的子表映射项。如主表表名为Main,子表表名为Sub,对应的映射实体为Main.class和Sub.class,该Main实体应申请子表项如下(例):

ArrayList _childs=null;

public ArrayList Childs

{

get{

if(this. _childs==null)

{

//oo的初始代码

this._childs=new ArrayList();

this. _childs=oo.RetrieveChildObjects(this.id,this._ childs,typeof(Sub));

//oo的释放代码

}

return this. _childs;

}

set{this._childs=value;}

}

4. 实体操作的定义,主子表关系应有事务支持,如下:

public void AddMain(Main m)

{

//oo的初始代码

oo.BeginTransaction();

try{

oo.InsertObject(m);

oo.InsertObjects(m.Childs);

oo.Commit();

}

catch(Exception e)

{

oo.Rollback();

throw e;

}

oo.Dispose();//oo的释放代码

}

5. 层间数据的传入传出,当某个功能需要实现通过某个实体的KeyField返回该实体时,传入的应是该实体的KeyField;当某个实体的新增或更新时,应传入该实体的实例。

6. 逻辑层Rule的定义


关键词:  基于Grove的.NET应用程序开发提示





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版