현실 세계에서 Demeter의 법칙을 이해하려고 노력하고 있습니다. 그러나 나는 사슬을 사퇴 할 때 얻을 수있는 이유와 이점에 대해 약간 혼란 스럽습니다. 책임.Demeter의 법칙 - 실제 문제
나는 사용법을 고려하고있는 예제가있다. 관계
Enquiry -> assignedTo -> Room Rooms -> assignedTo -> Building Building -> assignedTo -> Company
지금은, 예를 일부 회사 데이터에 접근 할 필요가
와 클래스가 있습니다. 회사 이름을 입력하고 문의 할 수 있습니다. 따라서 현재 흐름은 다음과 같습니다.enquiry.getManager().getRoom().getBuilding().getCompany().getName()
- 꽤 오래, 그렇지 않습니까?
나는 그것이 enquiry.getHostingCompanyName()
로 변경해야하지만 내가 room.getHostingCompanyName()
및 building.getHostingCompanyName()
가 선행 만들 필요가 날 것으로 보인다, 그 결과, 매우 깨지기되고보다 훨씬 더 많은 변화가 필요합니다 디테일 정도 따르는 경우 내 생각 리팩토링과 관련된 이전 접근
어떤 조언을 해 주실 수 있습니까? 아니면 내 가정이 완전히 틀렸고 다른 방식으로 수행해야합니까?