C#工厂设计模式 示范

来源:互联网 发布:java random用法 编辑:程序博客网 时间:2024/06/05 14:13
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; }
    }
 
注:程序设计中,在软件设计阶段,采用适当的设计模式,对于程序的解耦、维护以及代码的安全非常重要。
原创粉丝点击