【问题标题】:Interface Segregation in Java CRUDJava CRUD 中的接口隔离
【发布时间】:2015-02-02 14:11:47
【问题描述】:

我的类依赖于定义方法 CREATE 、 READER 、 UPDATE 和 DELETE 的接口

但是我的一些实现没有 CREATE 选项

我认为强制这些类实现 CREATE 方法并不是最佳实践。

我怎样才能最好地实现我的接口,以便在某些类中实现 CREATE 不是强制性的。

【问题讨论】:

  • 也许你可以创建几个接口CRUD。然后 CRUD 将扩展这 4 个接口。实现方法并抛出UnsupportedOperationException也是可以接受的。
  • 我使用了 UnsupportedOperationException 因为只有一个实现没有创建方法。谢谢。

标签: java interface design-principles


【解决方案1】:

我认为唯一可能的方法是拥有另一个类 (ClassA),它具有 CREATE 方法 but not implements the interface 现在实现接口的目标类 (TClass) (CURDInterface) 可以没有 CREATE方法 if 扩展自 ClassA:

interface CRUDInterface{     
  public void Create();
  public SomeType Read();
  public void Update();
  public void Delete();
} 

class ClassA{
  public void Create() {
    //do something;
  }
}

class TClass extends ClassA implements CRUDInterface{
  public SomeType Read() {
    //do something;
  }
  public void Update() {
    //do something;
  }
  public void Delete() {
    //do something;
  }
}

【讨论】:

    猜你喜欢
    • 2014-06-28
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多