当前位置: 首页 > 面试题库 >

Java 什么时候使用构建器模式?

丌官向荣
2023-03-14
问题内容

什么是一些常见的,现实世界的例子使用Builder模式的?它能买到什么?为什么不只使用工厂模式?


问题答案:

构建器和工厂恕我直言之间的主要区别在于,当你需要做很多事情来构建对象时,构建器非常有用。例如,想象一个DOM。你必须创建大量节点和属性才能获得最终对象。当工厂可以在一个方法调用中轻松创建整个对象时,将使用工厂。

使用构建器的一个示例是构建XML文档,例如在构建HTML片段时就使用了此模型,例如,我可能具有用于构建特定类型表的构建器,并且可能具有以下方法(未显示参数):

BuildOrderHeaderRow()
BuildLineItemSubHeaderRow()
BuildOrderRow()
BuildLineItemSubRow()

然后,该构建器将为我吐出HTML。这比遍历大型过程方法更容易阅读。



 类似资料:
  • 问题内容: 什么是一些 常见的 , 现实世界的例子 使用Builder模式的?它能买到什么?为什么不只使用工厂模式? 问题答案: 构建器和工厂恕我直言之间的主要区别在于,当您需要做很多事情来构建对象时,构建器非常有用。例如,想象一个DOM。您必须创建大量节点和属性才能获得最终对象。当工厂可以在一个方法调用中轻松创建整个对象时,将使用工厂。 使用构建器的一个示例是构建XML文档,例如在构建HTML片

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 问题内容: 我目前正在Java课程中学习有关类继承的信息,我不知道何时使用该调用? 编辑: 我发现使用此代码示例: 因此,我知道在这里,你必须使用它来访问超类中的变量。但是,在其他情况下,该怎么;办?在其自己的? 问题答案: 精确 调用始终是多余的。它明确地在做否则会隐式地做的事情。这是因为如果你省略对超级构造函数的调用,则无论如何都将自动调用无参数的超级构造函数。并不是说这是不好的风格。有些人喜

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的

  • 问题内容: 我怎么能说: 为什么函数调用中不需要括号,而最后一行呢? 问题答案: 是一个功能 调用该函数并产生该函数返回的任何值。 setTimeout的目的是在一段时间后运行代码。你需要的功能只是传递给它(这样的setTimeout可以自称在适当的时候函数),因为如果你将它传递给setTimeout的前调用的函数(用括号),将执行 现在 而不是1秒后,。

  • 一般来说,当发现 CPU 的占用率和实际业务应该出现的占用率不相符,或者对 Nginx worker 的资源使用率(CPU,内存,磁盘 IO )出现怀疑的情况下,都可以使用火焰图进行抓取。另外,对 CPU 占用率低、吐吞量低的情况也可以使用火焰图的方式排查程序中是否有阻塞调用导致整个架构的吞吐量低下。 常用的火焰图有三种: lj-lua-stacks.sxx 用于绘制 Lua 代码的火焰图 sam