关于工厂模式,一般什么情况下使用?

yasire 2009-05-30 06:48:59
如题,最近向研究下工厂模式。看了好多视频,收获不太大。哪位大侠给点好的资料!
工厂模式一般什么时候用到?
放在项目的哪个里面(数据访问层?业务逻辑层?还是。。。?)?
工厂方法模式和抽象工厂模式又分别什么时候用到?
...全文
2289 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Damon_lan 2011-08-22
  • 打赏
  • 举报
回复
好蒙啊。
小妹917 2011-01-28
  • 打赏
  • 举报
回复
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。
yasire 2009-05-31
  • 打赏
  • 举报
回复
我可不可以理解成,项目越大就用抽象工厂模式,项目捎小就用工厂方法模式?
qq196260188 2009-05-31
  • 打赏
  • 举报
回复
小网站,,不建议用 工厂模式
Ricercar 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yasire 的回复:]
我可不可以理解成,项目越大就用抽象工厂模式,项目捎小就用工厂方法模式?
[/Quote]

抽象工厂模式和工厂方法模式完全两个概念
Dream_Hunter_ 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,运用抽象工厂模式的关键点在于应对“多系列对象创建”的需求变化。
工厂模式要解决的就是对象的创建时机问题,它提供了一种扩展的策略,很好地符合了开放封闭原则
参考
[/Quote]

顶~

我也没学多久,看过一些视频。
抽象工厂解决的是项目的系列问题,如项目是用于SQL SERVER还是oracle;而工厂模式解决的是控制对象创建的问题,如根据某个标示来判断该创建哪个实例。
跟项目大小无关。
chen_ya_ping 2009-05-30
  • 打赏
  • 举报
回复
工厂方法模式应用场景:
1.类不知道自己要创建哪一个对象
2.类用它的子类来指定创建哪个对象
3.客户需要清楚创建了哪一个对象

抽象工厂模式:
1.系统需要屏蔽有关对象如何创建、如何组织和如何表示
2.系统需要由关联的多个对象来构成
3.有关联的多个对象需要一起应用并且他们的约束是强迫的(不可分离)
4.你提供一组对象而不显示它们的实现过程,只显示它们的接口。

更具体的可以上网查查。
wuyq11 2009-05-30
  • 打赏
  • 举报
回复
抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,运用抽象工厂模式的关键点在于应对“多系列对象创建”的需求变化。
工厂模式要解决的就是对象的创建时机问题,它提供了一种扩展的策略,很好地符合了开放封闭原则
参考
AuC 2009-05-30
  • 打赏
  • 举报
回复
工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类只能创建一个具体产品类的实例。

抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类可以创建多个具体产品类的实例。

区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

熟悉三层的话,也就不难了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧