상세 컨텐츠

본문 제목

자바강의 - [7주차] 디자인 패턴 개념

Programming/Java

by leediz 2022. 3. 7. 21:02

본문

자바강의 - [7주차] 디자인 패턴 개념


디자인 패턴(Design Pattern)

  • 자주 사용하는 설계 패턴을 정형화해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계
  • 알고리즘과 유사하지만, 명확하게 정답이 있는 형태는 아니며, 프로젝트의 상황에 맞추어 적용 가능
  • GoF(Gang of Four)의 23개의 디자인 패턴이 있으며 이를 잘 이해하고 활용한다면, 경험이 부족하더라도 좋은 소프트웨어 설계가 가능

디자인 패턴의 장점

  • 개발자(설계자) 간의 원활한 소통
  • 소프트웨어 구조 파악 용이
  • 재사용을 통한 개발 시간 단축
  • 설계 변경 요청에 대한 유연한 대처

디자인 패턴의 단점

  • 객체지향 설계/구현
  • 초기 투자 비용 부담

생성 패턴

  • 객체를 생성하는 것과 관련된 패턴으로, 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하고, 코드의 유연성을 높여 줌
  • Factory Method
  • Singleton
  • Prototype
  • Buiolder
  • Abstract Factory
  • Chaining

구조 패턴

  • 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 활용될 수 있는 패턴
  • 클래스, 객체들의 구성을 통해서 더 큰 구조를 만들 수 있게 함
  • Adapter
  • Composite
  • Bridge
  • Decorator
  • Facade
  • Flyweight
  • Proxy

행위 패턴

  • 반복적으로 사용되는 객체들의 상호작용을 패턴화한 것으로 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 제공
  • 행위 패턴은 행위 관련 패턴을 사용하여 독립적으로 일을 처리하고자 할 때 사용
  • Template Method
  • Interpreter
  • Iterator
  • Observer
  • Strategy
  • Visitor
  • Chain of responsibility
  • Command
  • Mediator
  • State
  • Memento

참고자료


Java & SpringBoot로 시작하는 웹 프로그래밍 강의 : #패스트캠퍼스 #내일배움카드 #K디지털크레딧 #바이트디그리 #자바인강

관련글 더보기

댓글 영역