背景:我正在使用Google Guice,因此通过配置类更容易,但是我认为这不是最好的方法。

我有一个存储一些路径的配置类:

class Configuration{
   String getHomePath();
   String getUserPath();
}

我也有一个需要“homepath”的类“a”和一个需要“userpath”的类“b”。

通过类a和b的构造函数传递配置类还是仅通过特定路径传递更好?

最佳答案

您的问题没有一个单一的答案,只有根据您的具体情况选择的选项。

如果您知道Configuration类将增长(如果您的AB类很可能会使用更多),则将整个Configuration对象传递给其构造函数。注意:我知道这违反了YAGNI原则,但有时您可能知道您会需要它;-)

否则,您可以考虑对路径使用@Named注入,以便将AB类的依赖性降低到最小,这是一种好的设计实践。

09-29 22:05