文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在什么情况下可以使用web工厂方法

2023-06-19 11:11

关注

这篇文章主要介绍了在什么情况下可以使用web工厂方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇在什么情况下可以使用web工厂方法文章都会有所收获,下面我们一起来看看吧。

适用性

在下列情况下可以使用Factory Method模式:
• 当一个类不知道它所必须创建的对象的类的时候。

当一个类需要创建某种对象却无法事先知道它的类型信息的时候。例如前文提到的应用/文档架构。这个架构的使用者是开发人员,开发的应用也成千上万,架构的提供者当然没有办法知道需要创建对象的类型。可以使用工厂方法模式决定所要创建的对象类型。

这种情况是真不知道。

• 当一个类希望由它的子类来指定它所创建的对象的时候。

如果我们的设计面向的不是通用的架构,只是一个具体的应用场景,那么大多数情况下我们可以知道(至少是知道大部分)需要创建对象的具体类型。但是出于某种考虑(将来的扩展,分散开发的需求等等),仍然希望将创建实际对象的职责交给其子类。

这种情况是装不知道。


• 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

这句话很难理解,还是看原文。

classes delegate responsibility to one of several helper subclasses, and
you want to localize the knowledge of which helper subclass is the delegate.

原文前半句中委托的职责并没有明确指出是创建对象的职责,很大的可能是翻译不准确。以下结合实例说明作者的理解,类图如下:

在什么情况下可以使用web工厂方法

我们的例子是图形编辑软件,支持Rect和Circle两种图形,它们都是Shape类的子类。另外,由于某种原因(例如我们希望将来图形可以在不同的操作系统中表示)我们希望将它们的图形的描画功能委托给RectDrawer和CircleDrawer两个帮助子类。如上图所示,由于使用了工厂方法模式创建不同的Drawer子类。关于描画功能具体委托给了哪个Drawer子类的信息都被限制在了具体的图形子类中。

关于“在什么情况下可以使用web工厂方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“在什么情况下可以使用web工厂方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯