7-8. 중재자 제거하기
적용 시점
절차
예시
❌Before
// 서버
class Person {
constructor(name, department) {
this._name = name;
this._department = department;
}
get name() { return this._name; }
get manager() { return this._department.manager; } // 위임 메서드
set manager(arg) { this._department.manager = arg; } // 위임 메서드
}
class Department {
constructor(chargeCode, manager) {
this._chargeCode = chargeCode;
this._manager = manager;
}
get chargeCode() { return this._department; }
set chargeCode(arg) { this._chargecode = arg; }
get manager() { return this._manager; }
set manager(arg) { this._manager = arg; }
}
// 클라이언트
aPerson = new Person('Peanut', new Department('code123', 'Scott'));
manager = aPerson.manager; // 위임 제거⭕After
Last updated