[Spring] 디자인 패턴



“토비의 스프링 3.1” 책을 읽으며, 한 문장 한 문장 자세히 공부해 보려고 한다.

1장은 오프젝트와 의존관계이다.



디자인 패턴


📌 1. 디자인 패턴(Design Pattern)이란?

디자인 패턴은 특정 문제를 해결하기 위한 검증된 최선의 설계 방법이라고 할 수 있다.

디자인 패턴은 소프트웨어 개발 과정에서 자주 발생하는 특정 문제들에 대해 재사용 가능한 해결책을 제시한다.

디자인 패턴은 코드의 재사용성, 확장성, 유지보수성 등을 향상시킬 수 있다.



📌 2. 객체 지향 프로그래밍과의 관련성

객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 디자인 패턴을 실현하는데 주로 사용되는 프로그래밍 패러다임이다.

객체 지향 프로그래밍은 데이터와 기능을 객체라는 단위로 캡슐화하여 프로그램의 구조를 정의한다.

디자인 패턴은 이러한 객체 지향 프로그래밍의 원칙과 연계하여, 특정 문제들을 효과적으로 해결할 수 있는 패턴이나 템플릿을 제공한다.



📌 3. 디자인 패턴의 종류

일반적으로 디자인 패턴은 크게 생성(Creational), 구조(Structural), 행위(Behavioral)의 세 가지 카테고리로 분류된다.

이러한 패턴들은 개발자들이 더 깔끔하고 유연한 코드를 작성할 수 있게 도와준다.

  • 생성 패턴(Creational Patterns) : 객체 생성에 관련된 패턴으로, Singleton, Factory Method, Abstract Factory, Builder, Prototype 등이 있다.
  • 구조 패턴(Structural Patterns) : 클래스나 객체의 조합으로 더 큰 구조를 만드는 패턴으로, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy 등이 있다.
  • 행위 패턴(Behavioral Patterns) : 객체들 사이의 알고리즘이나 커뮤니케이션에 관련된 패턴으로, Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor 등이 있다. 이러한 디자인 패턴은 개발 과정에서 특정 유형의 문제를 효과적으로 해결할 수 있는 방법을 제시한다.



    (+ 디자인 패턴에 대한 자세한 내용은 이후에 추가)




참고링크 |

Categories:

Updated:

Leave a comment