패키지 원칙

Package principles

컴퓨터 프로그래밍에서 패키지 원칙은 보다 체계적이고 관리하기 쉽게 하기 위해 더 큰 시스템에서 클래스를 구성하는 방법입니다.어떤 클래스가 어떤 패키지에 포함되어야 하는지(패키지 응집)와 이러한 패키지가 서로 어떻게 관련지어져야 하는지(패키지 커플링)를 이해하는 데 도움이 됩니다.패키지 원칙에는 의존 구조를 정량화하는 데 도움이 되는 소프트웨어 패키지 메트릭도 포함되어 클래스 및 패키지의 전체 구조에 대한 서로 다른 통찰력 및/또는 더 정확한 통찰력을 제공합니다.

개요

패키지 응집성의 원칙

Reuse-Release Equivalence 원칙(REP)
REP는 기본적으로 패키지가 재사용 가능한 클래스로 작성되어야 함을 의미합니다.즉, 패키지 내의 모든 클래스는 재사용이 가능하거나 모두 재사용할 수 없습니다.클래스도 같은 가족이어야 합니다.패키지의 목적과 무관한 클래스는 포함하지 마십시오.재사용 가능한 클래스의 패밀리로 작성된 패키지가 가장 유용하고 재사용 가능한 경우가 많습니다.
공통 재사용 원칙(CRP)
CRP는 함께 재사용되는 경향이 있는 클래스가 같은 패키지에 함께 속한다고 기술하고 있습니다.이것은 어떤 클래스가 어떤 패키지에 속하는지 결정하는 데 도움이 되는 방법입니다.
패키지에 의존할 때는 클래스가 분리할 수 없고 상호의존적인지 확인해야 합니다.이것은 패키지에 속하지 않는 클래스를 꺼낼 때도 편리합니다.
공통 클로저 원칙(CCP)
CCP 에서는, 패키지에 변경이 필요한 이유는 복수일 수 없다고 기술되어 있습니다.여러 패키지에 의존하는 응용 프로그램에서 변경이 발생하는 경우 이상적으로는 변경이 여러 패키지가 아닌 하나의 패키지로만 이루어지는 것이 좋습니다.
이를 통해 변경 가능성이 높은 클래스를 식별하고 동일한 이유로 함께 패키지화할 수 있습니다.클래스가 밀접하게 결합되어 있는 경우는, 같은 패키지에 속합니다.

패키지 커플링의 원리

ADP(Acyclic Dependencies Principle)
복수의 개발자가 있는 개발 사이클에서는, 소규모의 증분 릴리스로 협력과 통합을 실시할 필요가 있습니다.ADP는 의존관계 구조에는 사이클이 존재할 수 없으며 증분 릴리스가 이루어지면 다른 개발자가 이를 채택하여 구축할 수 있다고 명시하고 있습니다.
안정 의존성 원칙(SDP)
디자인은 사용 환경에 따라 변화하고 있습니다.따라서 패키지 디자인도 변화를 지원해야 합니다.SDP는 휘발성을 필요로 하는 패키지는 변경이 어려운 패키지에 의존해서는 안 된다고 규정하고 있습니다.
안정추출원칙(SAP)
SAP는 안정적인 패키지도 추상적이어야 하며, 따라서 그 안정성이 확장되는 것을 방해하지 않는다고 말합니다.
또한 불안정한 패키지의 경우 패키지의 구체적인 코드를 쉽게 변경할 수 있으므로 패키지가 구체화되어야 한다고 명시되어 있습니다.

「 」를 참조해 주세요.

레퍼런스

  • "Principles of OOD". Archived from the original on 2022-01-21.
  • Martin, Robert C. (1996). "Granularity". C++ Report. SIGS Publications Group. Nov-Dec 1996.
  • Martin, Robert C. (2002). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. ISBN 978-0135974445.