抽象空厂

来源:互联网 发布:python 100以内的奇数 编辑:程序博客网 时间:2024/06/10 01:36

    最近在学习“设计模式”,闲着,写了个抽象工厂的简单示例。

 

using System;

using System.Collections.Generic;

using System.Text;

namespace DB

{

class Program

    {

        static void Main(string[] args)

        {

            string s = "sql1";

            IFactory F = null;

            if (s == "sql")

            {

                 F = new SqlFactory();

            }

            else

            {

                F = new AccessFactory();

            }

                IDB db= F.GetDB();

                db.insertToDB("小罗");

                db.ReadFromDB("小张");

                System.Console.Read();

        }

    }

    interface IFactory

    {

        IDB GetDB();

    }

    class AccessFactory:IFactory

    {

        public IDB GetDB()

        {

            AccessUser user = new AccessUser();

            return user;

        }

    }

 

    class SqlFactory : IFactory

    {

        public IDB GetDB()

        {

            SqlUser user = new SqlUser();

            return user;

        }

    }

 

    interface IDB

    {

      void  insertToDB(string name);

      void  ReadFromDB(string name);

    }

 

    class AccessUser:IDB

    {

        public void insertToDB(string name)

        {

            Console.WriteLine ("" + name + "写入到Access数据库");

        }

        public void ReadFromDB(string name)

        {

            Console.WriteLine ("" + "Access数据库从读取" + name + "的信息");

        }

}

 

    class SqlUser : IDB

    {

        public void insertToDB(string name)

        {

            Console.WriteLine (""+name+"写入到SQL数据库");

        }

        public void ReadFromDB(string name)

        {

            Console.WriteLine ("" + "SQL数据库从读取" + name + "的信息");

        }

}

 

 

 

 

原创粉丝点击