首页
技术库|站长工具|技术手册|字体库|知识点词汇表| 联系我们|
打开本页的html静态页面
 

主菜单

文章分类

.: .Net技术 .: .Net分析与设计 .: 基于面向对象与数据库编程常用的业务逻辑类编写方式

  • 全文内容
  • 发表评论
  • 文章点评
  • 文章附件
  • Email文章
  • 打印文章

基于面向对象与数据库编程常用的业务逻辑类编写方式

点击次数:436 创建日期:11-6-2007 录入:cn-web.com 字体:[ ] 点评:


面向对象和数据库有各自的优点:面向对象的优点在于模块化和处理复杂的业务逻辑,而数据库的优点在于数据存储、查询、统计。

面向对象和数据库各有其特长,何不让它们发挥各自的特长呢?

面向对象,你就处理复杂的业务逻辑~

数据库,你就处理数据的查询、统计、简单的业务逻辑~

一般常用的业务逻辑类编写方式

用类把你的函数封装起来

方法:声明一个static类,然后把函数放到类里。不要说这个太不像面向对象了,类是一个模块,能准确定义一个类是面向对象中最困难的事情。

数据处理:手写SQL

数据容器:编程工具提供的数据库控件。


// 客户类
static class Customer
{
    
// 输入客户信息
     static public bool Insert(int Id,int Name)
    
{
    }


    
// 更新客户信息
     static public bool Update(int Id,int Name)
    
{
    }


    
//删除客户信息      
     static public bool Delete(int Id)
    
{
    }

        
    
//获得客户信息
     static public DataSet GetInfo(int Id)
    
{
    }


    
//获得客户列表
     public DataSet GetList()
    
{
    }

}


 

优点

-    对面向对象理论方面要求不高,通过短时间学习,就可以掌握

-    代码简单易懂

-    代码效率高

缺点

-    不能充分发挥面向对象的特点

-    UpdateInsert把数据库字段作为参数,当添加字段或删除字段时,需要修改函数。

 

发挥面向对象和数据库的特点

方法:声明一个Entity类和一个业务逻辑类

数据处理:手写SQL

数据容器:插入、更新 、传递单条记录使用Entity对象,一组记录使用数据库控件

// 客户Entity
class CustomerEntity
{
    
public int Id;
    
public string Name;
}


// 客户类
class Customer
{
    
private int Id;
    
//构造
     public Customer(int Id)
    
{
       
this.Id = Id;
    }


    
// 输入客户信息
     public bool Insert(CustomerEntity CustEntity)
    
{            
    }


    
// 更新客户信息
    public bool Update(CustomerEntity CustEntity)
   
{

   }


   
//删除客户信息      
   public bool Delete()
  
{
  }

        
  
//获得客户信息
  public CustomerEntity GetInfo()
  
{
  }


  
//获得客户列表
  public DataSet GetList()
  
{
  }

}


 优点

-    能发挥面向对象和数据库各自的特点

-    代码效率高

缺点

-    需要比较全面的面向对象理论

-    使用了Entity类,需要自动生成工具

使用O/R Mapping 工具

方法:使用O/R Mapping工具

数据处理:O/R Mapping 工具自动处理

数据容器:对象

// 客户类
class Customer
{
    
public int Id;
    
public string Name;

    
// 输入客户信息
     public bool Insert(CustomerEntity CustEntity)
    
{            
    }


    
// 更新客户信息
    public bool Update(CustomerEntity CustEntity)
    
{
    }


    
//删除客户信息      
    public bool Delete()
    
{
    }

        
    
//获得客户信息
     public CustomerEntity GetInfo()
    
{
    }


    
//获得客户列表
     public IList GetList()
    
{
     }

}

 

优点

-    能发挥面向对象特点

-    可以自动把对象模型转换到数据模型

-    能自动处理,简单的CURD

缺点

-    需要很高的能力和耐心

-    流行的O/R Mapping 工具都是开源出来的,没有保障

-    还不是很完善,存在不可预测的危险

-    对于处理复杂的对象关系,配置复杂

-    需要额外学习O/R Mapping  方面的知识


请文明参与讨论,禁止漫骂攻击。
评论总数:0 [ 查看全部 ] 网友评论
此文章还没有任何评论!
(+5分)
(+4分)
(+3分)
(+2分)
(+1分)
此内容无附件
网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号