快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

基于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的定义



待续...



返回类别: 教程
上一教程: 基于.net的迅速开发思想
下一教程: 什么是配件(assembly)?

您可以阅读与"基于Grove的.NET应用程序开发提示"相关的教程:
· .net+oracle+crystalReports开发web应用程序学习笔记(二)
· .Net平台下开发英文语音应用程序
· 使用.NET CF开发Smartphone应用程序 FAQ
· 基于.Net Framework的N层分布式应用开发
· 基于.Net Framework的N层分布式应用开发
    微笑服务 优质保证 索取样品