实体的持久化状态
1.读状态(Read) 数据从数据库中读取到实体中,在程序运行期间,实体未被修改过的。
2.脏状态(Dirty) 数据从数据库中读取到实体中,在程序运行期间,实体的某些属性被修改过了,这意味着,持久化时
,该实体被修改的属性(或者所有属性)的值需要更新到数据库中。
3.删除状态(Delete) 数据从数据库中读取到实体中,在程序运行期间,实体被删除了。这意味着,持久化时,需要在数据库中
删除对应的记录。
4.销毁状态(Destory) 实体直接在程序中创建并且在程序运行期间被删除的。这意味着,该实体可以直接被丢弃,无需要更新到数据库中。
5.创建状态(New) 实体直接在程序中创建。这意味着,持久化时,应该根据实体的属性在数据库中插入一条记录。
6.所有状态(All) 所有的实体状态。所有状态=读状态|脏状态|删除状态|销毁状态|创建状态
7.当前状态(Current) 实体还仍然存在的一组状态。当前状态=读状态|脏状态|创建状态
数据持久化设计
将一组属性和方法封装在基类中,所有的实体都继承自该类。基类应该提供的属性和方法如下

Code
/// <summary>
/// 实体的持久化的状态
/// </summary>
public PersistenceStatus _Status{get;set;}
/// <summary>
/// 持久化状态是否为读
/// </summary>
public bool _IsRead{get;}
/// <summary>
/// 持久化状态是否为修改
/// </summary>
public bool _IsDirty{get;}
/// <summary>
/// 持久化状态是否为删除
/// </summary>
public bool _IsDelete{get;}
/// <summary>
/// 持久化状态是否为销毁
/// </summary>
public bool _IsDestory{get;}
/// <summary>
/// 持久化状态是否为新增
/// </summary>
public bool _IsNew{get;}
/// <summary>
/// 持久化状态是否为Read、New、Modified中的任意一个或组合
/// </summary>
public bool _IsCurrent{get;}
/// <summary>
/// 更改实体属性时,调用该方法改变持久化状态
/// </summary>
/// <returns></returns>
public PersistenceStatus _Modify(){}
/// <summary>
/// 删除实体时,调用该方法改变持久化状态
/// </summary>
/// <returns></returns>
public PersistenceStatus _Delete(){}
/// <summary>
/// 实体被修改事件
/// </summary>
public event EntityModifiedEventHandler OnModify;
/// <summary>
/// 实体被删除事件
/// </summary>
public event EntityDeletedEventHandler OnDelete;
posted @ 2009-09-02 18:36 东风31 阅读(67) 评论(0)
编辑
企业应用的特性
一、持久化数据的特点
1.生命周期长。通常比使用这些数据的应用程序的生命周期都长,比硬件、操作系统、编译器都长。
2.数据本身的结构也会扩展。
3.数据可能会被迁移到其他系统中去。
二、大量的数据
三、许多用户同时访问数据(即并发)。
四、大量操作数据的用户界面屏幕(为了不同的使用目的,数据需要很多种表现形式)。
五、要与散布在企业周围的其他企业应用集成。这些各式各样的系统是不同时期、采用不同的技术构建的。甚至连协作机制都不同。
六、业务的无逻辑性(业务的变化无逻辑)。
每一种特性相当于企业应用的一个维度,这些维度是我们在思考和设计程序架构时所需要考虑的各个方面。
企业应用的种类
1.用户规模庞大,并随着业务的增长成线性增长(例如b2c的电子商务系统)。
2.业务逻辑负责(往往UI也很复杂)。
3.必须快速开发
企业应用的3个基本逻辑
1.表现逻辑
2.领域逻辑
3.数据源逻辑
posted @ 2009-09-02 17:43 东风31 阅读(68) 评论(0)
编辑