티스토리 뷰

Design Pattern

디자인패턴 한줄 정리

유쾌한 개발자 anyjava 2014. 3. 31. 01:59

디자인패턴 한줄 정리

요즘 스터디를 통해서 디자인 패턴을 정리하고 있다. 진도를 하나하나 나가기전에 전체적으로 간략하게 정리를 해보았다. 학습한 패턴은 이해가 잘되었지만, 아직 학습하지 못한 패턴은 개념이 잘 안잡혔다. 열심히 해서 다 정리하는 그날까지! 아자아자!!

1. 객체생성에 관한 패턴

  • Object Pool Pattern : DB 커넥션 풀이 대표적이다.
  • Prototype Pattern : 객체생성비용이 많이 들 경우 복사해서 인스턴스를 만든다.
  • Factory Method Pattern : 인스턴스 작성을 하위클래스에 위임하는 패턴 (추상클래스에서는 create만 구현되고 나머지는 상속받아서 상세 구현한다.)
  • Builder Pattern : 복잡한 인스턴스를 조립한다. ( 메인에서 조립구현체를 넘기고 builder 패턴(순서)에 의해 객체가 구현됨)
  • Factory Pattern
  • Abstract Factory Pattern : 관련된 부품을 조립해서 제품을 만든다.
  • Singleton Pattern : 단하나의 인스턴스

2. 행동에 관한 패턴

  • Memento Pattern : 상태를 보존한다. ( undo, redo, history, snapshot 기능)
  • Mediator Pattern : 상대는 하나뿐 (중간에 중재자를 두어 여러상태를 통제한다)
  • Observer Pattern : 상태의 변화를 통지한다. ( 옵져버를 추가하고,, 통지한다 )
  • Null Object Pattern
  • Visitor Pattern : 구조안을 돌아다니면서 일을 한다. ( 자료구조와 비지니스 로직을 분리한다.)
  • Interpreter Pattern : 문법 규칙을 클래스로 표현한다.
  • Iterator Pattern : 하나씩 열거하면서 처리한다. ( hasnext(), next() )
  • Strategy Pattern : 알고리즘을 모두 교체하다.
  • Command Pattern : 명령을 클래스로 만든다.
  • Template Method Pattern : 구체적인 처리를 하위클래스에 위임.
  • Chain of Responsibility Pattern : 책임 떠넘기기

3. 구조에 관한 패턴

  • Adapter : 필요한 형태로 수정해서 재활용한다.
  • Bridge : GUI계층과 비지니스로직을 분리한다.
  • Composite : 재귀적인 구조를 만드는 패턴(폴더구조)
  • Decorator : 객체에 데코레이션(장식)을 하나씩 해나가는 디자인 패턴(재귀이용)
  • Flyweight : 동일한것을 공유하여 낭비를 없앤다. (메모리 사용량을 줄이는 패턴)
  • Proxy : 대리인의 객체를 만드는 패턴, 필요할때 실제 객체를 생성하는 패턴 or 추가적인 작업이 필요할때 Spring AOP
프로그램을 공부하는 여러분들에게 많은 도움이 되길 바라며, 잘못된점은 얼마든지 지적 부탁드립니다. 감사합니다.

ps/ 1주일에 하나의 패턴씩 정리해서 올리는 중입니다.

[참고사이트]


반응형
댓글
댓글쓰기 폼