您的位置:首页 > 其它

设计模式-工厂模式

2015-10-26 09:47 316 查看
1:简单工厂模式

//china
IFactory factory=new ChinaFactory();
IPerson chinaPerson = factory.Create();
bool result = chinaPerson.Add(new Person {
Id = Guid.NewGuid().ToString(),
UserName = "zs",
RealName = "张三",
Nationality = Nationality.China,
AddDate = DateTime.Now
});
if (result) {
Console.WriteLine("中国 添加成功");
}

//japan
IFactory factory1 = new ChinaFactory();
IPerson japanPerson = factory.Create();
bool result1 = japanPerson.Add(new Person {
Id = Guid.NewGuid().ToString(),
UserName = "ls",
RealName = "李四",
Nationality = Nationality.America,
AddDate = DateTime.Now
});
if (result1) {
Console.WriteLine("日本 添加成功");
}


客户端
d:查看效果



优点:符合开闭原则,不需要修改已有的业务即可添加新的国籍的人,有很好的灵活性

缺点:需要创建更多的类(这个算不算)

上述两种模式在实际应用中可以联合使用以下关于工厂模式的一些总结

关于两种工厂模式的总结

用途:

1:工厂方法模式是一种轻量级模式,它实现了与应用特定模型的独立。客户只基于接口编程而让模式来解决其他问题

2:工厂模式有一个特殊的优点就是它能够连接起平行的类层次。

使用场景:

1:灵活性很重要

2:对象可以通过子类进行扩展

3:客户程序把职责委托给平行层次的子类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: