java - 代码到接口(interface)原则是否适用于实体类?

标签 java

我正在尝试在项目中遵循代码到界面。我应该首先创建一个接口(interface),然后为实体类实现该接口(interface)吗?我认为这可能使接口(interface)优先的方法走得太远,应该忽略实体。这就是我的意思...

public interface Address {
  public String getStreet();
  public void setStreet(String street);
}

@Entity
public class AddressImpl implements Address {
  private String street;

  public String getStreet(){
    return this.street;
  }
  public void setStreet(String street){
    this.street = street;
  }
}

@Entity
public class OfficeImpl /* implements Office */ {
  private Address location;

  public Address getLocation(){
    return this.location;
  }
  public void setLocation(Address location){
    this.location = location;
  }
}

public class Driver {
  public static void main(String[] args) {
    Office work = new OfficeImpl();
    Address workAddress = new AddressImpl();
    workAddress.setStreet("Main St.");
    work.setLocation(workAddress);
  }
}

最佳答案

我认为为实体创建接口(interface)可能没有必要。

创建接口(interface)的目的(或者至少是目的之一)是为了更容易地将一种具体实现替换为另一种具体实现。这对于您的 DAO、业务逻辑等显然是一件好事。

但是除非您也有计划更改实体的实现,否则我会避免它!

关于java - 代码到接口(interface)原则是否适用于实体类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363295/

相关文章:

Java:String concat vs StringBuilder - 优化了,我该怎么办?

java - 如何使用 Java 创建多语言 Alexa Skill?

java - 为什么字符集名称不是常量?

java - java InetSocketAddress 绑定(bind)到哪个临时端口?

java - 如何仅从主数据库执行读取操作

java - SWT:如何右对齐工具栏中的项目

java - 在Java中使用SQLite实现登录系统有很大困难

java - jboss 下载了,但我可以从哪里开始工作

java - URL '/session' 未映射到有效资源 |如何使用 java 使用 winAppDriver/windows 应用程序驱动程序运行桌面应用程序测试?

java - 是否可以通过 JMX 以编程方式关闭 Java 进程