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;
}
}
ヘルプ/フィードバックをいただければ幸いです。前もって感謝します。
マーク。