refactoring : middle man - remove middle man

This commit is contained in:
haerong22
2022-04-07 00:33:39 +09:00
parent 914b38fd18
commit 38763848b9
5 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.example.refactoring._18_middle_man._38_remove_middle_man;
public class Department {
private Person manager;
public Department(Person manager) {
this.manager = manager;
}
public Person getManager() {
return manager;
}
}

View File

@@ -0,0 +1,17 @@
package com.example.refactoring._18_middle_man._38_remove_middle_man;
public class Person {
private Department department;
private String name;
public Person(String name, Department department) {
this.name = name;
this.department = department;
}
public Department getDepartment() {
return department;
}
}

View File

@@ -0,0 +1,14 @@
package com.example.refactoring._18_middle_man._38_remove_middle_man._before;
public class Department {
private Person manager;
public Department(Person manager) {
this.manager = manager;
}
public Person getManager() {
return manager;
}
}

View File

@@ -0,0 +1,17 @@
package com.example.refactoring._18_middle_man._38_remove_middle_man._before;
public class Person {
private Department department;
private String name;
public Person(String name, Department department) {
this.name = name;
this.department = department;
}
public Person getManager() {
return this.department.getManager();
}
}

View File

@@ -0,0 +1,16 @@
package com.example.refactoring._18_middle_man._38_remove_middle_man;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PersonTest {
@Test
void getManager() {
Person kim = new Person("kim", null);
Person lee = new Person("lee", new Department(kim));
assertEquals(kim, lee.getDepartment().getManager());
}
}