구조 패턴(Structural Patterns)
적응자 패턴(Adapter or Wrapper)
클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해주는 패턴입니다.
인터페이스로 인해 함께 사용하지 못하는 클래스를 함께 사용하도록 하는 패턴
브리지 패턴(Bridge)
구현부에 추상층을 분리하여 각자 독립적으로 변형할 수 있도록 하는 패턴입니다.
추상과 구현을 분리하여 결합도를 낮춘 패턴
컴포지트 패턴(Composite)
객체들의 관계를 트리 구조롤 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일/복합객체 모두 동일하게 다루도록 하는 패턴입니다.
개별 객체와 복합 객체를 클라이언트에서 동일하게 사용하도록 하는 패턴
데코리이터 패턴(Decorator)
주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브 클래스 대신 쓸 수 있는 대안이 될 수 있습니다.
소스를 변경하지 않고 기능을 확장하도록 하는 패턴
퍼사드 패턴(Facade)
서브 시스템에 있는 인터페이스 집합에 통합된 하나의 인터페이스를 제공합니다. 서브시스템을 좀더 쉽게 사용하기 위해 고수준의 인터페이스를 정의합니다.
하나의 인터페이스를 통해 느슨한 결합을 제공하는 패턴
프록시 패턴(Proxy)
어떤 다른 객체로 접근하는 것을 통제하기 위해 그 객체의 매니저 또는 자리 채움자를 제공하는 패턴입니다.
대리인이 대신 그 일을 처리하는 패턴
플라이웨이트 패턴(Flyweight)
대량의 작은 객체들을 공유하는 패턴
'전공 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어 공학] 소프트웨어 테스트 (0) | 2022.06.19 |
---|---|
[소프트웨어 공학] 행위 패턴(Behavioral Patterns) (0) | 2022.06.19 |
[소프트웨어 공학] 생성(Creational) 패턴 (0) | 2022.06.19 |
[소프트웨어 공학] GoF 디자인패턴의 분류 (0) | 2022.06.19 |
[소프트웨어 공학] 소프트웨어 디자인 패턴 (0) | 2022.06.19 |