using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;namespace Tstring.Comm {
/// <summary>
/// 产品工厂
/// </summary>
public class CommFactory { #region 创建实例
//创建实例
public CommFactory CreateInstance(string str) {
CommFactory instance;
if (!string.IsNullOrEmpty(str)) {
instance = Assembly.Load(str).CreateInstance(str) as CommFactory;
} else {
instance = null;
}
return instance;
}
#endregion
} /// <summary>
/// 产品工厂子类
/// </summary>
public class UserInfo : CommFactory { } /// <summary>
/// 逻辑工厂
/// </summary>
public class BusiFactory { #region 创建实例
//创建实例
public BusiFactory CreateInstance(string str) {
BusiFactory instance;
if (!string.IsNullOrEmpty(str)) {
instance = Assembly.Load(str).CreateInstance(str) as BusiFactory;
} else {
instance = null;
}
return instance;
}
#endregion
} /// <summary>
/// 逻辑工厂子类
/// </summary>
public class UserBusi : BusiFactory {} /// <summary>
/// 测试
/// </summary>
public class Test {
void Main() {
CommFactory info = new CommFactory().CreateInstance("UserInfo");
BusiFactory bus = new BusiFactory().CreateInstance("UserInfo");
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;namespace Tstring.Comm {
/// <summary>
/// 产品工厂
/// </summary>
public class CommFactory { #region 创建实例
//创建实例
public CommFactory CreateInstance(string str) {
CommFactory instance;
if (!string.IsNullOrEmpty(str)) {
instance = Assembly.Load(str).CreateInstance(str) as CommFactory;
} else {
instance = null;
}
return instance;
}
#endregion
} /// <summary>
/// 产品工厂子类
/// </summary>
public class UserInfo : CommFactory { } /// <summary>
/// 逻辑工厂
/// </summary>
public class BusiFactory { #region 创建实例
//创建实例
public BusiFactory CreateInstance(string str) {
BusiFactory instance;
if (!string.IsNullOrEmpty(str)) {
instance = Assembly.Load(str).CreateInstance(str) as BusiFactory;
} else {
instance = null;
}
return instance;
}
#endregion
} /// <summary>
/// 逻辑工厂子类
/// </summary>
public class UserBusi : BusiFactory {} /// <summary>
/// 测试
/// </summary>
public class Test {
void Main() {
CommFactory info = new CommFactory().CreateInstance("UserInfo");
BusiFactory bus = new BusiFactory().CreateInstance("UserInfo");
}
}
}
CommFactory info = new CommFactory().CreateInstance("UserInfo");
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;namespace Tstring.Comm {
public abstract class Information { } public class UserInfo : Information { } public class EventInfo : Information { }
public abstract class Business { } public class UserBusi : Business { } public class EventBusi : Business { } public class InformationFactory {
public virtual Information Create(){return null;}
} public class UserInfoFactory : InformationFactory {
public override Information Create() {
return new UserInfo();
}
} public class EventInfoFactory : InformationFactory {
public override Information Create() {
return new EventInfo();
}
}
public class BusinessFactory {
public virtual Business Create() { return null; }
} public class UserBusiFactory : BusinessFactory {
public override Business Create() {
return new UserBusi();
}
} public class EventBusiFactory : BusinessFactory {
public override Business Create() {
return new EventBusi();
}
} public class Test {
void Main() {
InformationFactory fact = new UserInfoFactory();
BusinessFactory fact_busi = new UserBusiFactory();
Information info = fact.Create();
Business bus = fact_busi.Create();
}
}
}