본문 바로가기

CS(Computer Science)/디자인 패턴

구조 패턴(Structual patterns)

어댑터 패턴(Adapter Pattern)

어댑터 패턴 : 연관성 없는 두 객체 묶어 사용하는 패턴

                   (알고리즘을 요구사항에 맞춰 사용할 수 있음)

                 ex) 한 객체의 함수를 다른 객체에서 원하는 형태로 쓸 수 있게 Adapter에서 그에 맞게 변경해서 보내줌

                   ex - A객체 interface를 B가 호출하는 interface에 맞게 adapter에서 변경해줌

 

 

 

 

브릿지 패턴(Bridge Pattern)

브릿지 패턴 : 기능과 구현을 따로 만들고 이들을 연결 시키는 것이 목적

                  (Adapter 처럼 연결 시켜주는 역할이지만 bridge pattern 은 미리 독립적인 진화를 고려한 상태로 만든 

                   것이고 Adapter는 이미 존재하는 두 인터페이스의 불일치를 해결하려는 것이다.

                  (기억 ex-모스부호   - 소리 문자 등)

 

 

 

 

컴포짓 패턴(Composite Pattern)

컴포짓 패턴 : 컨테이너와 내용물을 같게 다루어 저장하는 패턴(트리 구조 구현)

                  (파일 시스템 구조- 폴더, 파일이 같은 방식으로 다루어짐)

 

 

 

데코레이터 패턴 (Decorator Pattern)

데코레이터 패턴 : 동적으로 책임 추가가 필요할 때 사용(책임을 대신 처리해줌)

       객체가 생성자 변수로 다른 객체 안에 들어감으로써 실행하는 메소드의 행동이 추가되도록 하는 것

       -객체의 타입과 호출 가능한 메소드를 그대로 유지하면서 객체에 새로운 책임을 추가할 때 사용한다.

    

 

 

 

 

퍼사드 패턴 (Facade Pattern)

퍼사드 패턴 : 복잡한 과정을 간단하게 제공해주는 패턴

                  (사용자는 안에서 동작하는 복잡한 동작을 알 필요없이 간단한 함수로 사용 가능)

 

 

 

 

플라이웨이트 패턴(Flyweight Pattern)

플라이웨이트 패턴 : 재사용할 경우 다시 생성하지 않고 있던 것을 넘겨주는 패턴

                          pool (ex - map)에 해당 데이터가 있으면 그대로 반환 없으면 생성해서 pool에저장 후 반환

                           (메모리 절약)

 

 

프록시 패턴(Proxy Pattern)

프록시 패턴 : 대리인(Proxy) 객체를 만들어서 일을 처리한다.( 필요하면 real객체한테 넘김)

                  가벼운 작업은 proxy(생성 가벼움)객체를 사용하고 그 이상의 일은 real객체를 호출

반응형

'CS(Computer Science) > 디자인 패턴' 카테고리의 다른 글

행동 패턴(Behavioral patterns)  (0) 2020.10.22
생성 패턴(Creational patterns)  (0) 2020.09.05