(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)心得体会
使用抽象工厂模式,多个公司,对应旗下多个工厂,每个工厂生产一种产品,使效率更高,且有利于之后的管理。