C#工厂设计模式
Eg:
/// <summary>
/// 工厂(应用层真正可操作的方法)
/// </summary>
interface IAbstractFactory
{
/// <summary>
/// 姓名
/// </summary>
/// <returns></returns>
string getName();
/// <summary>
/// 性别
/// </summary>
/// <returns></returns>
short getSex();
/// <summary>
/// 年龄
/// </summary>
/// <returns></returns>
short getAge();
}
/// <summary>
/// 工厂方法
/// </summary>
public class AbstractTest : IAbstractFactory
{
private Employee emp;
public AbstractTest()
{
emp = new Employee();
}
public string getName()
{
return emp.UserName;
}
public int getSex()
{
return emp.Sex;
}
public short getAge()
{
return emp.Age;
}
}
/// <summary>
/// 工厂
/// </summary>
internal class Repository
{
internal IAbstractFactory Repository()
{
return new AbstractTest();//返回IAbstractFactory接口
}
}
/// <summary>
/// 工厂方法测试(客户端)
/// </summary>
public class A
{
private Repository repo;
public A()
{
repo = new Repository();
}
public string GetName()
{
return repo.Repository().getName();
}
}
/// <summary>
/// 个人信息
/// </summary>
internal struct Employee
{
internal string UserName { get; set; }
internal short Sex { get; set; }
internal short Age { get; set; }
}
注:程序设计中,在软件设计阶段,采用适当的设计模式,对于程序的解耦、维护以及代码的安全非常重要。
Eg:
/// <summary>
/// 工厂(应用层真正可操作的方法)
/// </summary>
interface IAbstractFactory
{
/// <summary>
/// 姓名
/// </summary>
/// <returns></returns>
string getName();
/// <summary>
/// 性别
/// </summary>
/// <returns></returns>
short getSex();
/// <summary>
/// 年龄
/// </summary>
/// <returns></returns>
short getAge();
}
/// <summary>
/// 工厂方法
/// </summary>
public class AbstractTest : IAbstractFactory
{
private Employee emp;
public AbstractTest()
{
emp = new Employee();
}
public string getName()
{
return emp.UserName;
}
public int getSex()
{
return emp.Sex;
}
public short getAge()
{
return emp.Age;
}
}
/// <summary>
/// 工厂
/// </summary>
internal class Repository
{
internal IAbstractFactory Repository()
{
return new AbstractTest();//返回IAbstractFactory接口
}
}
/// <summary>
/// 工厂方法测试(客户端)
/// </summary>
public class A
{
private Repository repo;
public A()
{
repo = new Repository();
}
public string GetName()
{
return repo.Repository().getName();
}
}
/// <summary>
/// 个人信息
/// </summary>
internal struct Employee
{
internal string UserName { get; set; }
internal short Sex { get; set; }
internal short Age { get; set; }
}
注:程序设计中,在软件设计阶段,采用适当的设计模式,对于程序的解耦、维护以及代码的安全非常重要。