工厂模式 (C#)

来源:互联网 发布:淘宝买机油 编辑:程序博客网 时间:2024/03/29 22:26

(1)UML设计图

(2)核心实现代码

       public static InsuranceFactorygetInsuranceFactory(string type)

        {

            InsuranceFactoryinsf =null;

            if(type.Equals("驾驶员受伤"))

            {

                insf = newBodyPolicyFactory();

            }

            elseif (type.Equals("汽车损坏"))

            {

                insf = newCollPolityFactory();

            }

            elseif (type.Equals("财产安全"))

            {

                insf = newPropertyPolicyFactory();

            }

            elseif (type.Equals("人员伤亡"))

            {

                insf = newPersonPolicyFactory();

            }

            elseif (type.Equals("多种事故"))

            {

                insf = newComPolicyFactory();

            }

            returninsf;

        }

 

       InsuranceFactory factory =InsuranceFactory.getInsuranceFactory(type);

            if(type != "" && insurance!= "")

            {

                if(insurance.Equals("平安保险"))

                {

                    PingAnpinan = factory.getPingAn();

                    richTextBox1.Text =pinan.getPingAnInfo();

                }

                elseif (insurance.Equals("中国人寿保险"))

                {

                    PICCpicc = factory.getPICC();

                    richTextBox1.Text =picc.getPICCInfo();

                }

            }

 

       class BodyPolicyFactory : InsuranceFactory

    {

        publicoverridePingAngetPingAn()

        {

            returnnewPingAnBodyPolicy();

        }

        publicoverridePICCgetPICC()

        {

            returnnewPiccBodyPolicy();

        }

}

        

 

(3)运行界面

创建平安驾驶员安全保险

 

创建中国人寿驾驶员安全险种

 

创建平安汽车损害保险

 

 

创建中国人寿汽车损害保险

 

 

(4)心得体会

使用抽象工厂模式,多个公司,对应旗下多个工厂,每个工厂生产一种产品,使效率更高,且有利于之后的管理。
0 0