乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

原文:乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

[索引页]
[源码下载]


乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)


作者:webabcd


介绍
定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。


示例
有SqlMessage和XmlMessage,用Factory Method来实例化它们。
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)


MessageModel
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// Message实体类
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public class MessageModel
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 构造函数
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <param name="msg">Message内容</param>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public MessageModel(string msg, DateTime pt)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
this._message = msg;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
this._publishTime = pt;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
private string _message;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// Message内容
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public string Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
get 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)return _message; }
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
set 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){ _message = value; }
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
private DateTime _publishTime;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// Message发布时间
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public DateTime PublishTime
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
get 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)return _publishTime; }
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
set 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){ _publishTime = value; }
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

AbstractMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// 操作Message抽象类(Product)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public abstract class AbstractMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 获取Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public abstract List<MessageModel> Get();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 插入Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <param name="mm">Message实体对象</param>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public abstract bool Insert(MessageModel mm);
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

SqlMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// Sql方式操作Message(ConcreteProduct)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public class SqlMessage : AbstractMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 获取Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override List<MessageModel> Get()
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            List
<MessageModel> l = new List<MessageModel>();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            l.Add(
new MessageModel("SQL方式获取Message", DateTime.Now));
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
return l;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 插入Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <param name="mm">Message实体对象</param>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override bool Insert(MessageModel mm)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
// 代码略
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
            return true;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

XmlMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// Xml方式操作Message(ConcreteProduct)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public class XmlMessage : AbstractMessage
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 获取Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override List<MessageModel> Get()
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            List
<MessageModel> l = new List<MessageModel>();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            l.Add(
new MessageModel("XML方式获取Message", DateTime.Now));
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
return l;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 插入Message
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <param name="mm">Message实体对象</param>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override bool Insert(MessageModel mm)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
// 代码略
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
            return true;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

AbstractMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// 抽象Message工厂(Creator)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public abstract class AbstractMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
// An Operation
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 工厂方法
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns>AbstractMessage</returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public abstract AbstractMessage CreateMessage();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

SqlMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// SqlMessage工厂(ConcreteCreator)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public class SqlMessageFactory : AbstractMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 实现工厂方法,返回SqlMessage对象
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override AbstractMessage CreateMessage()
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
return new SqlMessage();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

XmlMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections.Generic;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Text;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
namespace Pattern.FactoryMethod
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// XmlMessage工厂(ConcreteCreator)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
/// </summary>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    public class XmlMessageFactory : AbstractMessageFactory
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/**//// <summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// 实现工厂方法,返回XmlMessage对象
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// </summary>
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
/// <returns></returns>

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        public override AbstractMessage CreateMessage()
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)            
return new XmlMessage();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)


client
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)using System;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Data;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Configuration;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Collections;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web.Security;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web.UI;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web.UI.WebControls;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web.UI.WebControls.WebParts;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using System.Web.UI.HtmlControls;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
using Pattern.FactoryMethod;
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
public partial class FactoryMethod : System.Web.UI.Page
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
protected void Page_Load(object sender, EventArgs e)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern){
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        AbstractMessageFactory amf 
= new SqlMessageFactory();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        AbstractMessage am 
= amf.CreateMessage();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(am.Insert(
new MessageModel("插入", DateTime.Now)));
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(
"<br />");
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(am.Get()[
0].Message + " " + am.Get()[0].PublishTime.ToString());
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(
"<br />");
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        amf 
= new XmlMessageFactory();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        am 
= amf.CreateMessage();
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(am.Insert(
new MessageModel("插入", DateTime.Now)));
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(
"<br />");
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)        Response.Write(am.Get()[
0].Message + " " + am.Get()[0].PublishTime.ToString());
乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)    }

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)}

乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)

运行结果
True
SQL方式获取Message 2007-5-4 22:34:39
True
XML方式获取Message 2007-5-4 22:34:39


参考
http://www.dofactory.com/Patterns/PatternFactory.aspx


OK
[源码下载]
posted on 2014-03-09 18:05 NET未来之路 阅读(...) 评论(...) 编辑 收藏