社区
Java SE
帖子详情
关于java工厂方法设计模式
群居的山羊
2017-07-09 01:26:59
今天学习工厂设计模式的时候,看到他实现工厂方法设计模式的时候说这个东西的优点就是符合那个ocp原则(就是不修改,而是拓展),用造车来举的例子,每多一种新车就要多一种新的工厂,这里我有个疑问,这样做的话和不用工厂有什么区别呢?工厂模式的目的不是让编写和使用尽量分开,让使用者使用更方便么,我怎么觉得工厂方法不但没有减少使用者需要知道的类,反而增加了类的数量呢?求大佬们解惑
...全文
195
3
打赏
收藏
关于java工厂方法设计模式
今天学习工厂设计模式的时候,看到他实现工厂方法设计模式的时候说这个东西的优点就是符合那个ocp原则(就是不修改,而是拓展),用造车来举的例子,每多一种新车就要多一种新的工厂,这里我有个疑问,这样做的话和不用工厂有什么区别呢?工厂模式的目的不是让编写和使用尽量分开,让使用者使用更方便么,我怎么觉得工厂方法不但没有减少使用者需要知道的类,反而增加了类的数量呢?求大佬们解惑
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
逗泥丸的平方
2017-07-10
打赏
举报
回复
其实关于"接口",也可以去了解一下多继承,当然也可能会变得更晕..
群居的山羊
2017-07-09
打赏
举报
回复
唉呀,一下子就明白了。我那个例子太简单了,忘了创建对象时可能有多种操作了,谢谢
rumlee
2017-07-09
打赏
举报
回复
对于对象的调用者来说,我不用管我调用的对象是怎么来的,只需要直接使用就行了。 就拿你举的车子的例子,假设你需要一辆车,然后你的助理就给你拿来了一辆车,至于这辆车是轿车、suv、还是卡车,你都不用管,直接上车打火走起。至于这辆车是怎么来的,你就更不用管了,可能你的助理是自己做的,也可能是买来的,或者偷来的。
java
工厂
方法
设计模式
FactoryMethod
我们创建一个抽象类来声明
工厂
方法
,并可选择包括共享行为,例如定义使用任何对象提供的任何对象发送通知的高级逻辑。但是,随着您的产品不断增长并且您不断添加新的通知类型,有些事情又开始感觉不对劲。因此,您可以添加一个新类,并通过添加一个新块来更新您的 NotificationService 类,以创建 SMS 通知对象,并发送该对象。现在,您的通知代码开始看起来像一个巨大的控制塔。
工厂
方法
设计模式
是一种创建
设计模式
,它提供了一个用于在超类中创建对象的接口,但允许子类更改将要创建的对象的类型。
Java
设计模式
之
工厂
方法
模式
工厂
方法
模式,作为应用相当广泛的
设计模式
,是我们必须要掌握的,本文是在上一讲 “静态
工厂
方法
模式” 的基础上继续讨论起来的,通过代码示例+
Java
源码介绍的方式,帮助大家理解这种
设计模式
。
Java
23种
设计模式
之
工厂
方法
模式
Java
23种
设计模式
之
工厂
方法
模式
工厂
方法
模式(Factory Method Pattern) Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to su...
Java
设计模式
-
工厂
方法
模式
工厂
方法
模式去掉了简单
工厂
模式中
工厂
方法
的静态属性使得它可以被子类继承。这样在简单
工厂
模式里集中在
工厂
方法
上的压力可以由
工厂
方法
模式里不同的
工厂
子类来分担。
工厂
方法
模式使用继承自抽象
工厂
角色的多个子类来代替简单
工厂
模式中的“顶级类”。这样便分担了对象创建的压力;避免
工厂
类中用逻辑判断来决定创建对象,而且这样使得结构变得相当灵活当有新的产品产生时,只要按照抽象产品角色、抽象
工厂
角色提供的规则来生成,那么就可以被客户使用,而不必去修改任何已有的代码,可以看出
工厂
方法
模式符合开闭原则。
java
设计模式
详解一(
工厂
方法
模式)
java
设计模式
详解一(
工厂
方法
模式)
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章