디자인 패턴 - Information expert 패턴

dragonappear·2021년 11월 25일
0

Design Pattern

목록 보기
1/5

Information expert 패턴

정보전문가 패턴: 객체에게 책임을 할당할 때 가장 기본이 되는 책임 할당 원칙이다. Information expert 패턴은 객체란 상태와 행동을 함께 가지는 단위라는 객체지향의 가장 기본적인 원리를 책임 할당의 관점에서 표현한다. Information expert 패턴을 따르는 것만으로도 자율성이 높은 객체들로 구성된 협력 공동체를 구출할 가능성이 높아진다.

  • 책임을 객체에 할당하는 일반적인 원리는 무엇인가? 책임을 정보 전문가. 즉, 책임을 수행하는데 필요한 정보를 가지고 있는 객체에게 할당하라!

  • Information expert 패턴은 객체가 자율적인 존재여야 한다는 사실을 알려준다.

  • 정보를 알고있는 객체만이 책임을 어떻게 수행할지 스스로 결정할 수 있기 때문이다.

  • Information expert 패턴을 따르면 정보와 행동을 최대한 가까운 곳에 위치시키기 때문에 캡슐화를 유지할 수 있다.

  • 또한 필요한 정보를 가진 객체들로 책임이 분산되기 대문에 더 응집력 있고, 이해하기 쉬워진다. 따라서 높은 응집도가 가능하다.

  • 결과적으로 결합도가 낮아져서 간결하고 유지보수하기 쉬운 시스템을 구출할 수 있다.

  • Information expert 패턴은 객체가 자신이 소유하고 있는 정보와 관련된 작업을 수행한다는 일반적인 직관을 표현한 것이다.

  • 여기서 이야기 하는 정보는 데이터와는 다르다. 책임을 수행하는 객체가 정보를 알고있다고해서 그 정보를 저장하고 있을 필요는 없다.

  • 객체는 해당 정보를 제공할 수 있는 다른 객체를 알고 있거나 필요한 정보를 계산해서 제공할 수도 있다.

  • 어떤 방식이건 정보 전문가가 데이터를 반드시 저장하고 있을 필요는 없다는 사실을 이해해야 한다.


출처

조용호, 『[eBook] 오브젝트』, 위키북스(2019), p139~140.

0개의 댓글