童话 发表于 2008-7-10 01:05:37

ASP,NET2.0项目开发模式--简单工厂模式

用ASP.NET2.0开发BS模式的项目的时候可以运用很多的开发模式,工厂模式是开发模式的一种,他包含了简单工厂模式,工程方法模式,抽象工厂模式,这里先介绍下简单工厂模式。
定义:简单工厂模式是类的创建模式,又叫做静态工厂方法模式。就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例
优点:1.充分利用了多态性不管什么具体产品都返回抽象产品。
    2.充分利用了封装性,内部产品发生变化时外部使用者不会受到影响。
缺点是:如果增加了新的产品,就必须得修改工厂
基本内容:1.简单工厂模式包含了以下几个模块
            Model模块
            IDAL模块
            SQLServerDAL模块
            DALFactory模块
            BLL模块
          2.具体格式:
           1。每个数据库表建立一个类,比如说CarInfo,在Model模块中。
public class CarInfo
{  int carId; string driverName; int seatCount; ......}
2。每个数据库表建立一个接口,比如说ICar,在IDAL模块中。接口规定了对该数据库表进行操作的方法,比如插入,删除,修改,查询全部,查询是否存在,根据条件查询等,,
public interface ICar{
   bool Insert( CarInfo cinfo ); ......
}
3。每个数据库表建立一个实现类,比如说Car,在SQLServerDAL模块中,该类继承自ICar,并提供具体的实现。
public class Car : ICar
{
    public  bool Insert( CarInfo cinfo )
    {
           ...
    }
}

4。每个数据库表建立一个工厂类,比如说Car,在DALFactory模块中。该类提供了实现类的具体实例,,
public class Car
{
    public static SQLServerDAL.Car Create()
    {
        return new SQLServerDAL.Car();
    }
}
5。每个数据库表建立一个业务逻辑处理类,比如说Car,在BLL模块中。该类提供了具体的处理方法。在WebSite中对数据库操作都使用这个项目中提供的类及方法。我们在界面中拖入ObjectDataSource对象的时候用的也是这个类。
public class Car{
    public bool Insert( CarInfo cinfo )
    {
          if( cinfo == null ) return false;
          return DALFactory.Car.Create().Insert(cinfo);
    }
}

自我总结的,希望与高手多多学习!!!

流氓鱼 发表于 2008-7-10 19:46:00

顶 ....

尐譫灬ゝ 发表于 2008-7-21 17:31:08

:P
    温故而知新。
页: [1]
查看完整版本: ASP,NET2.0项目开发模式--简单工厂模式