구조적 패턴 카테고리에는 구조 앤티패턴을 포함하여 다양한 유형의 구조 요소를 표시하는 패턴이 들어 있습니다.
패턴 | 목적 |
---|---|
Component Cyclic Dependency | Component Cyclic Dependency는 상호 종속된 컴포넌트로 구성된 구조 앤티패턴입니다. 컴포넌트 사이의 주기 종속성은 중요한 구조적 결함으로 간주됩니다. 이러한 종속성 때문에 코드를 이해하고 유지보수하기 어렵습니다. 더 중요한 점은 주기 종속성이 테스트 용이성, 병렬 개발 및 재사용을 방해하는 것입니다. 주기 종속성이 많은 대규모 소프트웨어는 취약하고 불안정합니다. |
Component Global Breakable | Component Global Breakable은 한 컴포넌트를 변경할 때 종종 영향을 받는 다른 시스템 컴포넌트의 구조 앤티패턴입니다. 상위 레벨의 구체적 구현을 제외하면 Global Breakable은 시스템의 취약성과 모듈성의 결여를 나타내기 때문에 바람직하지 않습니다. |
Component Global Butterfly | Component Global Butterfly는 전역 종속자가 많은 객체의 구조적 패턴입니다. Global Butterfly로 변경하면 종종 시스템의 나머지 부분에 상당한 영향을 줍니다. 이 때문에 Global Butterfly는 기본 시스템 인터페이스 또는 Utility 클래스여야만 합니다. |
Component Global Hub | Component Global Hub는 전역 종속성 및 전역 종속자가 많은 컴포넌트의 구조 앤티패턴입니다. Global Hub는 변경사항이 있을 때 종종 영향을 받으며 Global Hub를 변경할 경우 시스템의 상당한 부분에 영향을 줍니다. Global Hub는 시스템의 취약성과 모듈성의 결여를 나타내기 때문에 바람직하지 않습니다. |
Component Local Breakable | Component Local Breakable은 전역 종속성이 많은 컴포넌트의 구조 앤티패턴입니다. 이러한 컴포넌트는 과도한 책임을 수행하며 일반적으로 많은 수의 긴 메소드로 식별됩니다. Breakable 때문에 코드를 이해하고 유지보수하며 재사용하기 어렵습니다. |
Component Local Butterfly | Component Local Butterfly는 직접적인 종속자가 많은 컴포넌트의 구조적 패턴입니다. Local Butterfly로 변경하면 종종 시스템의 나머지 부분에 상당한 직접적인 영향을 줍니다. 이 때문에 Local Butterfly는 기본 시스템 인터페이스 또는 Utility 클래스여야만 합니다. |
Component Local Hub | Component Local Hub는 직접적인 종속성과 직접적인 종속자가 많은 컴포넌트의 구조 앤티패턴입니다. 이러한 컴포넌트는 과도한 책임을 수행하며 Utility 또는 공통적으로 사용되는 컴포넌트로도 제공됩니다. Hub 때문에 코드를 이해하고 유지보수하며 재사용하기 어렵습니다. 또한 Hub 때문에 코드가 취약하며 불안정합니다. |
Package Cyclic Dependency | Package Cyclic Dependency는 상호 종속된 패키지로 구성된 구조 앤티패턴입니다. 패키지 사이의 주기 종속성은 중요한 구조적 결함으로 간주됩니다. 이러한 종속성 때문에 코드를 이해하고 유지보수하기 어렵습니다. 더 중요한 점은 주기 종속성이 테스트 용이성, 병렬 개발 및 재사용을 방해하는 것입니다. 주기 종속성이 많은 대규모 소프트웨어는 취약하고 불안정합니다. |
Package Global Breakable | Package Global Breakable은 전역 종속성이 많은 패키지의 구조 앤티패턴입니다. 이러한 패키지는 과도한 책임을 수행합니다. 일반적으로 이 패키지에는 전역 종속성이 많은 여러 컴포넌트가 들어 있습니다. |
Package Global Butterfly | Package Global Butterfly는 전역 종속자가 많은 패키지의 구조적 패턴입니다. Global Butterfly로 변경하면 종종 시스템의 나머지 부분에 상당한 영향을 줍니다. 이 때문에 Global Butterfly 패키지는 기본 시스템 인터페이스 또는 Utility 클래스로 구성되어야만 합니다. |
Package Global Hub | Package Global Hub는 직접적인 종속성이 많은 패키지의 구조 앤티패턴입니다. 이러한 패키지는 과도한 책임을 수행하며 Utility 또는 공통적으로 사용되는 패키지로도 제공됩니다. 일반적으로 이 패키지에는 여러 전역 종속성 및 종속자가 있는 많은 컴포넌트가 들어 있습니다. Package Global Hub 때문에 모듈의 재사용 가능성이 차단되며 코드를 이해하고 유지보수하기 어렵습니다. |
Package Local Breakable | Package Local Breakable은 직접적인 종속성이 많은 패키지의 구조 앤티패턴입니다. 이러한 패키지는 과도한 책임을 수행합니다. 일반적으로 이 패키지에는 직접적인 종속성이 많은 대규모 또는 많은 수의 컴포넌트가 들어 있습니다. Package Local Breakable 때문에 코드를 이해하고 유지보수하며 재사용하기 어렵습니다. |
Package Local Butterfly | Package Local Butterfly는 직접적인 종속성이 많은 패키지의 구조 앤티패턴입니다. 이러한 패키지는 Utility 또는 공통적으로 사용되는 패키지로 제공됩니다. |
Package Local Hub | Package Local Hub는 직접적인 종속성 및 종속자가 많은 패키지의 구조 앤티패턴입니다. 이러한 패키지는 과도한 책임을 수행하며 Utility 또는 공통적으로 사용되는 패키지로도 제공됩니다. 일반적으로 이 패키지에는 직접적인 종속성이 많을 수 있는 많은 컴포넌트가 들어 있습니다. Hub 때문에 코드를 이해하고 유지보수하며 재사용하기 어렵습니다. 또한 Hub 때문에 코드가 취약하며 불안정합니다. |