博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
超级工厂模式
阅读量:6676 次
发布时间:2019-06-25

本文共 2455 字,大约阅读时间需要 8 分钟。

public interface ISalary    {        void CommandSalary();    }
public abstract class ShenZhenSalary : ISalary    {        public virtual void CommandSalary()        {            Console.WriteLine("这是深圳子公司的工资计算模块");        }    }
public abstract class BeiJinSalary : ISalary    {        public virtual void CommandSalary()        {            Console.WriteLine("这是北京子公司的工资计算模块");        }    }
public class BeiJinItdSalary : BeiJinSalary    {        public override void CommandSalary()        {            Console.WriteLine("这是北京子公司ITD的工资计算模块");        }    }    public class BeiJinHraSalary : BeiJinSalary    {        public override void CommandSalary()        {            Console.WriteLine("这是北京子公司HRA的工资计算模块");        }    }
public class ShenZhenItdSalary : ShenZhenSalary    {        public override void CommandSalary()        {            Console.WriteLine("这是深圳子公司ITD的工资计算模块");        }    }    public class ShenZhenHraSalary : ShenZhenSalary    {        public override void CommandSalary()        {            Console.WriteLine("这是深圳子公司HRA的工资计算模块");        }    }

 

public interface IFactory    {        ShenZhenSalary CreateShenZhenSalary();        BeiJinSalary CreateBeiJinSalary();    }
public class ItdFactory : IFactory    {        public ShenZhenSalary CreateShenZhenSalary()        {            return new ShenZhenItdSalary();        }        public BeiJinSalary CreateBeiJinSalary()         {            return new BeiJinItdSalary();        }    }
public class HraFactory:IFactory    {       public ShenZhenSalary CreateShenZhenSalary()       {           return new ShenZhenHraSalary();       }       public BeiJinSalary CreateBeiJinSalary()       {           return new BeiJinHraSalary();       }    }
class Program    {        public static void Main(string[] args)        {            IFactory Factory = new ItdFactory();  //实例化Itd工厂类            ShenZhenSalary SalarySzItd = Factory.CreateShenZhenSalary();            SalarySzItd.CommandSalary(); //调用深圳ITD公司计算过程            BeiJinSalary SalaryBjItd = Factory.CreateBeiJinSalary();            SalaryBjItd.CommandSalary(); //调用北京ITD公司计算过程            Factory = new HraFactory(); //实例化Hra工厂类            ShenZhenSalary SalarySzHra = Factory.CreateShenZhenSalary();            SalarySzHra.CommandSalary(); //调用深圳Hra公司计算过程            BeiJinSalary SalaryBjHra = Factory.CreateBeiJinSalary();            SalaryBjHra.CommandSalary(); //调用北京Hra公司计算过程            Console.ReadLine();        }    }

 

转载地址:http://ivrxo.baihongyu.com/

你可能感兴趣的文章
关于机器级二进制位移
查看>>
windows7 10 windows2008 windws2012 nfs客户端的安装
查看>>
Spring Cloud--Honghu Cloud分布式微服务云系统—System系统管理
查看>>
MySQL数据库源码包安装(5.7最新版本)
查看>>
CentOS 7 yum安装zabbix 设置中文界面
查看>>
Django1.11启动错误:Generator expression must be parent
查看>>
SSH协议服务器、SUDO用法以及PAM机制
查看>>
CSS如何让li 4个一行显示
查看>>
杭州雄迈信息技术有限公司被评为“杭州市专利试点企业”
查看>>
ManageEngine网络管理软件新特点
查看>>
美团即时物流的分布式系统架构设计
查看>>
Win7获KB4493132更新
查看>>
锐龙R3 2200G和Intel i3-8100选哪个好
查看>>
HP ILO2 使用详细教程
查看>>
常用软介质下载
查看>>
Oracle教程之Oracle管理约束(一)--Oracle约束基本概念
查看>>
Oracle RAC OCR 的备份与恢复
查看>>
配置Vsphere vCenter 5.5安装使用远程Oracle数据库
查看>>
xenserver迁移至kvm记录
查看>>
Ubuntu 14.04下MySQL服务器和客户端的安装
查看>>