IDAL接口的设计

来源:互联网 发布:淘宝男模特啥要求 编辑:程序博客网 时间:2024/06/08 06:19

一个类基本上对应一个接口,往大的说可以说一个业务应该对应一个接口的

此处以IProduct接口为例说明:

-------------------------------------------------------

using System;
using System.Collections.Generic;
using PetShop.Model;     //引用Model层

namespace PetShop.IDAL{
 
 
 public interface IProduct{
 
  

      //返回IList列表该列表中的数据类型全部是ProductsInfo类对象,类似于数组的感觉
      IList<ProductInfo> GetProductsByCategory(string category); 

    

      IList<ProductInfo> GetProductsBySearch(string[] keywords);

     

     //返回一个商品信息
      ProductInfo GetProduct(string productId);
 }
}

------------------------------------------------------------

从现实中讲对一个商品的操作能够设计的操作方式都应该抽象化为接口,在实际业务中去实现接口方法 这样扩展性才好。

 

获取商品信息

       获取商品信息的方式不同导致了此处有不同的方法

       GetProductsByCategory(string category)和GetProductsBySearch(string[] keywords)

 

返回单个商品信息 GetProduct(string productId)

 

当然若涉及到商品的插入信息 可能还会写 string CreateProduct(......);

                  商品的删除修改信息   及 void Delete(......),

 

 

结合ERP情况 :

ERP中的接口一般设计到的业务就是新建单据,修改单据,删除单据,获取单据的条目和详细信息,一般如下:


using System.Data;
 public interface IDoERP
 {

   string Create(DataSet refERP);

   DataSet SearchDetail(string refERP);

   void Delete(DataSet refDeleteNoList);

   DataSet SearchList(DataSet refSearchCondition);

   void ChangeStatus(DataSet refChangeCondition);

   DataSet GetSumByStatus(DataSet refSearchCondition);

 }

}

 

需要学习的是传入的参数 (DataSet refERP);在后面如何用到的。