YooYoungmo / AEP

1 stars 1 forks source link

JsonAppConfigMap 리펙토링 #29

Closed YooYoungmo closed 7 years ago

YooYoungmo commented 7 years ago

완료 목표

8 의 후속 작업으로 현재 initMap() 메소드를 사용하는 번거로운 쓰임새를 개선해 보자.

YooYoungmo commented 7 years ago

Method Chaining 방식으로 한번 탐색 후에는 Root 부터 다시 탐색 하기 위해서는 initMap()을 호출해야 한다.

appConfigMap.initMap();
Map resultMap = appConfigMap.get(CONFIG_PROFILE_ELEMENT).get("stage")
                    .get(appEnvProfileActive).get(id).getConfigMap();

이 것은 해당 객체를 사용하는 입장에서 번거로움을 만들고 더 나아가 객체 사용자가 이를 기억하지 않으면 오류에 빠질 가능성이 높다.

결국 객체를 사용할때에는 최소한만을 알아야 한다. 너무 많은 것을 알게 되면 결합도가 높아지고 유지 보수 하기 힘들어 진다. 결국 인터페이스의 등장이 예견되는 부분이기도 하다.

참고할 만한 좋은 원칙은 Principle of least privilege 를 생각해 보자.