Tag: 器模式

如何改善build筑模式?

动机 最近,我search了一种方法来初始化一个复杂的对象,而不会传递大量的参数给构造函数。 我尝试过使用构build器模式,但是我不喜欢这样一个事实,即我无法在编译时检查是否真正设置了所有需要的值。 传统的build设者模式 当我使用构build器模式来创build我的Complex对象时,创build更多的是“types安全”,因为更容易看到什么参数用于: new ComplexBuilder() .setFirst( "first" ) .setSecond( "second" ) .setThird( "third" ) … .build(); 但是现在我有这个问题,我很容易错过一个重要的参数。 我可以在build()方法中检查它,但那只是在运行时。 在编译时,如果我错过了某些东西,就没有任何警告。 增强的生成器模式 现在我的想法是创build一个build设者,“提醒”我是否错过了一个必要的参数。 我的第一个尝试看起来像这样: public class Complex { private String m_first; private String m_second; private String m_third; private Complex() {} public static class ComplexBuilder { private Complex m_complex; public ComplexBuilder() { m_complex = new Complex(); […]

Builderdevise模式和Factory Design模式有什么区别?

Builderdevise模式和Factorydevise模式有什么区别? 哪一个更有利,为什么? 如果我想对这些模式进行testing和比较/对比,如何将我的发现表示为图表?

有效的Java中的生成器模式

我最近开始阅读Joshua Bloch的Effective Java。 我发现Builder模式的想法(书中的第2项)真的很有趣。 我试图在我的项目中实现它,但有编译错误。 以下是我正在尝试做的事情: 具有多个属性的类及其构build器类: public class NutritionalFacts { private int sodium; private int fat; private int carbo; public class Builder { private int sodium; private int fat; private int carbo; public Builder(int s) { this.sodium = s; } public Builder fat(int f) { this.fat = f; return this; } public Builder carbo(int […]