以下の内容はhttps://tbpgr.hatenablog.com/entry/20120526/1338044984より取得しました。


書籍 Refactoring to Patterns | Utilities | Unity Interface

パンくず

書籍 Refactoring to Patterns
Utilities
Unity Interface

概要

Unity Interfaceについて

使用する場面

複数の子クラスに、共通するシグニチャメソッドがあるがインターフェース
もしくは抽象基底クラスにインターフェースが用意されていない。

対応方法

共通のシグニチャスーパークラスもしくはインターフェースに作成する。

サンプル

Rubyはダック・タイピングが可能であるためにこの問題は気にする必要がない。
サンプルコードはJava

リファクタリング
public abstract class BaseAbstract {
  public void method1();
}

public class ChildClassA extends BaseAbstract {
  public void method1() {
    System.out.println("childClassA method1");
  }
  
  public void method2() {
    System.out.println("childClassA method2");
  }
}

public class ChildClassB extends BaseAbstract {
  public void method1() {
    System.out.println("childClassB method1");
  }
  
  public void method2() {
    System.out.println("childClassB method2");
  }
}
リファクタリング
public abstract class BaseAbstract {
  public void method1();
  public void method2();
}

public class ChildClassA extends BaseAbstract {
  public void method1() {
    System.out.println("childClassA method1");
  }
  
  public void method2() {
    System.out.println("childClassA method2");
  }
}

public class ChildClassB extends BaseAbstract {
  public void method1() {
    System.out.println("childClassB method1");
  }
  
  public void method2() {
    System.out.println("childClassB method2");
  }
}



以上の内容はhttps://tbpgr.hatenablog.com/entry/20120526/1338044984より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14