2

Robert C. Martin の SOLID 原則を理解しようとしています。現在、低結合と高凝集性を検討しています。この件に関する私の現在の理解を表すコードをいくつか作成しました。正しい軌道に乗っているかどうか教えていただけますか?現在のデザインを改善する機会はありますか?

2 つの住所を作成して従業員に割り当てるメイン アプリ:

public class App {

    public static void main(String[] args) {
        Address homeAddress = new HomeAddress("This is my Home Address");
        Address workAddress = new WorkAddress("This is my Work Address");        
        Employee employee = new Employee(homeAddress, workAddress);

        employee.getAddresses();
    }

}

従業員クラス:

public class Employee {

    private Address homeAddress;
    private Address workAddress;

    Employee(Address homeAddress, Address workAddress) {
        this.homeAddress = homeAddress;
        this.workAddress = workAddress;
    }

    public void getAddresses() {
        System.out.println("homeAddress: " + homeAddress.getAddress());
        System.out.println("workAddress: " + workAddress.getAddress());
    }

}

アドレス インターフェイス:

public interface Address {

    String getAddress();

}

特定のアドレスの実装 1 (HomeAddress):

public class HomeAddress implements Address {

    String specificAddress;

    public HomeAddress(String specificAddress) {
        this.specificAddress = specificAddress;
        System.out.println("In HomeAddress Constructor");
    }

    public String getAddress() {
        return specificAddress;
    }
}

特定のアドレスの実装 2 (WorkAddress):

public class WorkAddress implements Address {

    String specificAddress;

    public WorkAddress(String specificAddress) {
        this.specificAddress = specificAddress;
        System.out.println("In WorkAddress Constructor");
    }

    public String getAddress() {
        return this.specificAddress;
    }
}

ヘルプ/フィードバックをいただければ幸いです。前もって感謝します。

マーク。

4

1 に答える 1