码迷,mamicode.com
首页 > Windows程序 > 详细

学习笔记:设计模式之抽象工厂(C#)

时间:2017-11-17 16:22:50      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:创建   实体类   creat   设计模式   客户端   return   int   ctf   class   

1.创建抽象工厂类

    public abstract class AbstractFactory
    {
        public abstract Connect CreatConnet();
        public abstract Select CreatSelect();
    }

2.创建两个抽象类

    public abstract class Connect
    {
        public abstract void Print();
    }

    public abstract class Select
    {
        public abstract void Print();
    }

3.创建两个实体类

    public class SqlConnect : Connect
    {
        public override void Print()
        {
            //throw new NotImplementedException();
            Console.Write("Sql Connect");
        }
    }

    public class SqlSelect : Select
    {
        public override void Print()
        {
            Console.Write("Sql Select");
        }
    }


    public class MysqlConnect : Connect
    {
        public override void Print()
        {
            Console.Write("MySql Connect");
        }
    }

    public class MysqlSelect : Select
    {
        public override void Print()
        {
            Console.WriteLine("MySql Select");
        }
    }

4.创建实体工厂类

    public class SqlFactory : AbstractFactory
    {
        public override Connect CreatConnet()
        {
            return new SqlConnect();
        }

        public override Select CreatSelect()
        {
            return new SqlSelect();
        }
    }

    public class MySqlFactory : AbstractFactory
    {
        public override Connect CreatConnet()
        {
            return new MysqlConnect();
        }

        public override Select CreatSelect()
        {
            return new MysqlSelect();
        }
    }

5.客户端调用

        static void Main(string[] args)
        {
            AbstractFactory sqlFactory = new SqlFactory();
            AbstractFactory mysqlFactory = new MySqlFactory();


            Connect sqlConnect = sqlFactory.CreatConnet();
            Connect mysqlConnect = mysqlFactory.CreatConnet();

            sqlConnect.Print();
            mysqlConnect.Print();

            Select sqlSelect = sqlFactory.CreatSelect();
            Select mysqlSelect = mysqlFactory.CreatSelect();

            sqlSelect.Print();
            mysqlSelect.Print();
            
            Console.Read();
        }

 

学习笔记:设计模式之抽象工厂(C#)

标签:创建   实体类   creat   设计模式   客户端   return   int   ctf   class   

原文地址:http://www.cnblogs.com/yizhituoxie/p/7851759.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!