Demeter의 법은 특히 객체 지향 프로그래밍에서 소프트웨어 개발을위한 디자인 가이드 라인입니다. 그것은 개체 간의 의존도를 줄이기 위해 목표로, 시스템 더 모듈을 만들기, 유지 보수가 용이하고, 버그에 더 적은 머리.

Demeter의 법 이해

Demeter의 법은 종종 "당신의 즉각적인 친구에 대해 이야기 만 요약"물은 직접적인 collaborators와 통신하는 것을 권장합니다. 이것은 객체가 다음과 같은 방법을 호출해야한다는 것을 의미합니다.

  • 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의
  • 매개변수로 전달되는 개체
  • 생성물
  • 그것의 직접적인 성분 목표

이 규칙에 대한 접착으로, 객체의 의존성은 최소화되고, 단단한 연결의 위험을 줄이고 코드를 쉽게 변경하거나 확장 할 수 있습니다.

Demeter의 법칙을 구현

Demeter의 법칙을 구현하는 것은 객체 그래프로 깊이 도달하지 않는 클래스와 방법을 설계합니다. 예를 들어, 호출 대신:

order.getCustomer().getAddress().getCity()]

필요한 정보를 직접 반환하는 방법을 제공하는 것이 더 좋습니다.

주문.getCustomerCity

팁을 다시 설정

  • 클래스 자체 내에서 복잡한 체인을 캡슐화합니다.
  • 필요한 데이터를 노출시키는 방법 만들기.
  • Facade 또는 Mediator와 같은 디자인 패턴을 사용하여 의존도를 줄일 수 있습니다.
  • 한 번의 책임에 집중된 수업을 유지하십시오.

Demeter의 법에 따라의 이점

이 법에 대한 고의는 몇 가지 이점을 제공합니다:

  • 수업의 연결 감소.
  • 코드 읽기 및 유지 보수를 향상시킵니다.
  • isolating object에 의해 쉽게 단위 테스트를 만드십시오.
  • Facilitates 쉽게 재공장 및 코드의 확장.

요약하면 객체 중심 디자인의 Demeter 법칙을 구현하는 것은 더 깨끗한 모듈식 코드를 홍보합니다. 이 개발자는 객체 상호 작용과 의존성에 대해 신중하게 생각하고 더 강력한 소프트웨어 시스템에 대한 선두 주자입니다.