パンくず
書籍 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"); } }