用工厂/或构建器替换构造函数

Posted

技术标签:

【中文标题】用工厂/或构建器替换构造函数【英文标题】:Replace constructor with a factory/or a builder 【发布时间】:2011-06-08 19:31:08 【问题描述】:

我正在使用 IntelliJ 10 社区版,我注意到有两个相似的重构选项:

-用工厂替换构造函数 - 将构造函数替换为生成器

这两者有什么区别?我什么时候想在另一个上使用?

谢谢

【问题讨论】:

你问的是建造者模式和工厂模式的区别吗?它们是相似的模式,因为它们抽象了对象的创建,但它们并不相同,因此是 Idea 中的离散命令。无论如何,我建议在***中比较两者。 哇,你在开玩笑吗? IntelliJ 有这个内置的吗?我正在下载试用版! IntelliJ 有很多重构选项,其中一些我以前从未听说过,因为母公司 Jetbrains 制作了一个专用的重构工具 (Resharper)。 【参考方案1】:

当对象可以满足所有不变量时,使用构造函数来构建它。要了解 builder 和 factory 之间的区别,请查看此帖子 What is the difference between Builder Design pattern and Factory Design pattern?

【讨论】:

以上是关于用工厂/或构建器替换构造函数的主要内容,如果未能解决你的问题,请参考以下文章

shared_ptr 和 unique_ptr 构造函数

DDD关键知识点整理汇总

构造函数重载类获取链接器错误使用DLL?

20170629

意外的标记; '构造函数、函数、访问器或变量'预期

Typescript装饰器构造函数覆盖包括其他参数