ASP.NET项目开发中的工厂模式
来源:互联网 发布:网络第一红人是谁 编辑:程序博客网 时间:2024/05/02 04:23
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
可以分为三类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)//与简单工厂模式相类似
3)抽象工厂模式(Abstract Factory)
简单工厂模式:简单工厂模式又称静态工厂方法模式。它存在的目的很简单:定义一个用于创建对象的接口。
它的组成:
工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。
抽象产品角色:它一般是具体产品继承的父类或者实现的接口,要实现什么功能。
具体产品角色:工厂类所创建的对象就是此角色的实例,具体类的实现。
话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!
而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存在的现象。幸运的是,这种有病的现象在OO(面向对象)语言中可以避免了。下面就以C#语言为基础来引入我们本文的主题:工厂模式。
//抽象产品角色
public interface Car
{
string drive();
}
//具体产品角色,具体类的实现
public class BenzCar : Car
{
public string drive()
{
return "Driving Benz";
}
}
public class BmwCar : Car
{
public string drive()
{
return "Driving Bmw";
}
}
//工厂类角色,本模式的核心
public static Car DriverCar(string category)
{
switch(category)
{
case "Benz":
return new BenzCar();
break;
case "BmwCar":
return new BmwCar();
break;
default: return null;
}
}
//这里用户只需选择要开什么车
protected void Page_Load(object sender, EventArgs e)
{
Car car = Driver.DriverCar("Benz");
Response.Write(car.drive());
}
工厂部分好像不太理想,因为每增加一辆车,都要在工厂类中增加相应的业务逻辑或者判断逻辑。抽象工厂模式能改变这一点。
- ASP.NET项目开发中的工厂模式
- ASP.NET 工厂模式
- ASP.NET项目开发中的异常处理
- ASP.NET项目开发中的异常处理
- ASP.NET项目开发中的异常处理
- 项目开发经验-ASP.NET项目开发中的异常处理
- ASP.NET项目开发
- .NET中的设计模式一:工厂模式
- .NET中的设计模式一:工厂模式
- 介绍ASP.NET抽象工厂模式概念
- 介绍ASP.NET抽象工厂模式概念
- Asp.net 工厂模式的应用讲解
- Asp.net 工厂模式的应用讲解
- 介绍ASP.NET抽象工厂模式概念
- Asp.net的抽象工厂模式
- ASP.net 中的页面继承实现和通用页面的工厂模式的实现
- ASP.net 中的页面继承实现和通用页面的工厂模式的实现
- 现在对.net开发ASP.net开发工厂ERP感受.
- hibernate ehcache
- 什么是GPA,应如何计算?
- 男女众生应该佩带什么样的佛像(商机)
- 服务开发方案
- jfreechart1
- ASP.NET项目开发中的工厂模式
- (技巧)巧设多DNS解析提高网通电信互访速度
- 初试翻译~勇敢show
- 输入法/非输入法的热键切换怎样改回ctrl+space?
- C# 完整的反射(调用程序集)
- Opening ceremony
- windows下ACE的多连接方案
- 客户关系管理的魅力
- MVC模式