java - 适配器设计模式 - 方法调用或构造函数中的依赖关系?

标签 java design-patterns adapter

这个例子是高度人为的,所以请耐心等待。

我有两个 Java 类,ChairDesk,它们来自第三方(即我无法更改它们)。

public class Chair {
  //...
}

public class Desk {
  //...
}

对于其中的每一个类,我都需要运行一个方法 doWork(),它依赖于 DatabaseService。我的方法是创建一个适配器,它为每个类实现 OfficeFurniture 接口(interface)。

public class ChairAdapter implements OfficeFurniture {
  //...
}

public class DeskAdapter implements OfficeFurniture {
  //...
}

public interface OfficeFurniture {
  public doWork(DatabaseService databaseService);
}

最后,问题:是在 doWork() 调用中传递 DatabaseService 更好,还是在 ChairAdapter 的构造函数中传递它更好> 和 DeskAdapter 并在类字段中存储一个实例?或者还有其他更好的方法吗?

最佳答案

视情况而定,适配器的客户端是否应该知道有关数据库服务的任何信息?可能不是,所以你把它放在构造函数中。如果客户端必须了解一些关于数据库服务的信息,那么传递它会更好。

关于java - 适配器设计模式 - 方法调用或构造函数中的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858557/

相关文章:

java - 使 jar 在 32 位 jre 中运行

design-patterns - 如何向团队教授设计模式

android - Moshi:解析单个对象或对象列表 (kotlin)

Java多线程,奇怪的东西

java - 一个(最好是 Java)库来在替代时间范围内执行 cron 作业?

java - 哪种设计模式最适合避免方法中的多个参数

java - 这是一种模式、一个坏主意还是您知道如何改进?

android - 当 Activity 转到后台 adapter.notifyDataSetChanged() 时,不起作用

c# - 带有 DropDownListAdapter 的 ViewStateException

java - 在android中使用soap webservices的mysql数据库连接