简单工厂?恩....

  1 namespace  SimpleFactory
  2 ExpandedBlockStart.gifContractedBlock.gif {
  3ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
  4    /// 员工的义务(拿了钱,总要还的)
  5    /// </summary>

  6    public interface IEmployeeDuty
  7ExpandedSubBlockStart.gifContractedSubBlock.gif    {
  8        //给别人打工的总要做些什么
  9        void DoSomething();
 10    }

 11
 12ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 13    /// 职工应该都具备的
 14    /// </summary>

 15    public abstract class Employee:IEmployeeDuty
 16ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 17        //活着.总要有个代号
 18        private string name;
 19        //一生总在各种不同的队伍中间徘徊..
 20        private string department;
 21
 22        public string Department
 23ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 24ExpandedSubBlockStart.gifContractedSubBlock.gif            get return department; }
 25ExpandedSubBlockStart.gifContractedSubBlock.gif            set { department = value; }
 26        }

 27        public string Name
 28ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 29ExpandedSubBlockStart.gifContractedSubBlock.gif            get return name; }
 30ExpandedSubBlockStart.gifContractedSubBlock.gif            set { name = value; }
 31        }

 32        
 33ContractedSubBlock.gifExpandedSubBlockStart.gif        IEmployeeDuty 成员#region IEmployeeDuty 成员
 34        public virtual void DoSomething()
 35ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 36            Console.WriteLine("干你该干的事儿");
 37        }

 38        #endregion

 39    }

 40
 41
 42ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 43    /// 程序员
 44    /// </summary>

 45    public class Programmer:Employee
 46ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 47
 48        public override void DoSomething()
 49ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 50            Console.WriteLine(Name + "   " + Department);
 51            Console.WriteLine("埋头Coding.");
 52        }

 53    }

 54
 55ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 56    /// 美工
 57    /// </summary>

 58    public class GraphicDesigner : Employee
 59ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 60
 61        public override void DoSomething()
 62ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 63            Console.WriteLine(Name+"   "+Department);
 64            Console.WriteLine("我P..我P我Ps你.");
 65        }

 66    }

 67
 68ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 69    /// - -! factory来了.
 70    /// </summary>

 71    public class ProjectManager
 72ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 73        public static Employee DispatchWork(string work)
 74ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 75            Employee employee = null;
 76            switch (work)
 77ExpandedSubBlockStart.gifContractedSubBlock.gif            {
 78                case "ps":
 79                    employee = new GraphicDesigner(); break;
 80                case "program":
 81                    employee = new Programmer(); break;
 82                default:
 83                    break;
 84            }

 85            return employee;
 86        }

 87    }

 88
 89
 90
 91ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 92    ///头儿的要求永远那么扑朔迷离
 93    /// </summary>

 94    class Boss
 95ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 96        static void Main(string[] args)
 97ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 98            Employee employee=null;
 99
100            Console.WriteLine("这网页怎么这么难看!改!!");
101            employee = ProjectManager.DispatchWork("ps");
102            employee.Name = "张三";
103            employee.Department = "美工组";
104            employee.DoSomething();
105
106            Console.WriteLine("boos指着项目经理鼻子:客户需求又变了!你得给我换啊!!");
107            employee = ProjectManager.DispatchWork("program");
108            employee.Name = "李四";
109            employee.Department = "技术组";
110            employee.DoSomething();
111
112            Console.ReadKey();
113        }

114    }

115}

转载于:https://www.cnblogs.com/crazyabel/archive/2009/07/24/1530416.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值