refactoring : middle man - remove middle man
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user