XCodeFactory

C#编程爱好者
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

XCodeFactory3.0完全攻略--XCF约定

Posted on 2005-09-11 17:11  C#编程爱好者  阅读(1774)  评论(5编辑  收藏  举报

    每个程序员都有自己的编码习惯,但是为了更好的使用XCodeFactory生成的代码,有些风格/习惯最好遵循XCF约定。接受限制极少的XCF约定,你将从XCodeFactory获得极大的回报!

XCF约定如下:
(1)请确保所有的数据库表的第一个字段为主键,并且主键名为“ID” 。
如果你不同意每个表都有一个ID主键,可以留言和我讨论。如果你同意,那么请严格用“ID”命名,而不要用类似“StudentID”。

(2)如果有与“ID”对应的“名称”、“名字”字段,请使用“Name”命名。
自动生成的每个数据对象类(与一个数据库表对应),都重载了ToString方法,如果有Name字段,则返回“ID Name”格式的字符串,否则返回ID的值。这样做的好处在后续的介绍中会提到。

(3)数据库的名字、数据库表的名字及其字段的名字请遵守骆驼命名法。
如DataServer数据库中的Student表中的BirthDate字段

(4)没有了,等有了再补充:)

    而XCodeFactory生成的代码也遵从如下约定:
(1)数据对象类的名字与数据库表的名字完全一致,如Student表对应的数据对象类名也是Student。

(2)数据访问类的名字的格式是: 数据库表名 + 数据库类型 + Dealer
    如StudentSqlDealer、StudentOracleDealer、StudentOleDealer

(3)数据对象类的属性与数据库表的字段完全一致。
    如Student数据库表有一个BirthDate字段,则对应的Student类就有一个BirthDate属性和一个birthDate私有变量、以及一个名为_BirthDate的const string变量,_BirthDate存在的目的会在后文中解释。

(4)对应每一个数据库表都有一个同名的文件夹与之对应,并且其中包含两个文件--数据对象类cs文件和数据访问类cs文件。
如Student文件夹下就有Student.cs和StudentDealer.cs两个文件。如果选择了生成UI界面的话,则还会有另外的两个UI类文件StudentForm.cs和StudentManageForm.cs。

    下面就通过一个简单的Student例子来看看生成的数据对象类,Student表描述如下: 
字段名          类型            长度      是否主键   注释(中文名)
ID                   int                   4           True           自动编号
Name             nvarchar      20           False          姓名
Age               int                   4           False          年龄
Description  nvarchar      50           False          描述

生成的数据对象类的代码如下:


//XCodeFactory 代码自动生成器 V3.0 Beta1  作者:zhuweisky

using System; 
 
namespace XcfExample.SkyExample
{
    
public class Student 
    {
        
public Student()
        {
        }
        
        
#region FieldName ,用于强化静态检查
        
public const string _ID = "ID" ;
        
public const string _Name = "Name" ;
        
public const string _Age = "Age" ;
        
public const string _Description = "Description" ;
        
#endregion
    
    
        
#region ID
        
private int iD = 0 ; 
        
/// <summary>
        
/// 自动编号
        
/// </summary>
        public int ID
        {
            
get
            {
                
return this.iD ;
            }
            
set
            {
                
this.iD = value ;
            }
        }
        
#endregion    
    
        
#region Name
        
private string name = "" ; 
        
/// <summary>
        
/// 姓名
        
/// </summary>
        public string Name
        {
            
get
            {
                
return this.name ;
            }
            
set
            {
                
this.name = value ;
            }
        }
        
#endregion    
    
        
#region Age
        
private int age = 0 ; 
        
/// <summary>
        
/// 年龄
        
/// </summary>
        public int Age
        {
            
get
            {
                
return this.age ;
            }
            
set
            {
                
this.age = value ;
            }
        }
        
#endregion    
    
        
#region Description
        
private string description = "" ; 
        
/// <summary>
        
/// 描述
        
/// </summary>
        public string Description
        {
            
get
            {
                
return this.description ;
            }
            
set
            {
                
this.description = value ;
            }
        }
        
#endregion
    
        
#region ToString 
        
public override string ToString()
        {
            
return this.ID.ToString() + " " + this.Name.ToString() ;
        }
        
#endregion
    }
}

    关于XCF约定就这么多,在XCF约定的基础上,XCodeFactory才能高效地进行工作!XCodeFactory3.0完全攻略 目录