디자인 패턴의 활용

디자인 패턴의 활용

미로910 2024. 9. 25. 14:46

사전 기반 지식

 

[사전 기반 지식] S.O.L.I.D 원칙

💡1. SOLID 원칙을 이해하고 실제 코딩에 적용할 수 있다. 2. 각 원칙을 설명할 수 있으며, 코드의 유지보수성을 높이는 방법을 배운다. 3. 객체지향 프로그래밍에서의 설계 개선 방법을 습득한다.

maze910.tistory.com


디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진 재사용 가능한 코드 설계 방법입니다.

즉, 소프트웨어 설계 시 발생할 수 있는 문제를 효율적으로 해결하기 위한 설계의 모범 사례라고 할 수 있습니다.

 

장점

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

단점

  • 객체지향 설계에 대한 깊은 이해도가 필요
  • 간단한 문제에 대해 디자인 패턴을 적용하는 것이 오히려 더 복잡하고 비효율적일 수 있습니다.
  • 모든 문제에 대해 디자인 패턴을 적용하는 것은 적절하지 않습니다.

 

디자인 패턴은 크게 생성(Creational), 구조(Structural), 행동(Behavioral)으로 구분할 수 있습니다.

 

생성 패턴

생성 패턴(Creational Pattern) : 객체 생성에 관련된 패턴으로, 객체가 생성되는 방식을 기본적인 형태에서 분리하여 코드의 유연성을 높입니다

Factory Method, Abstract Factory, Builder, Prototype, Singleton

구조 패턴

구조 패턴(Structural Pattern) : 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴입니다. 서로 다른 인터페이스를 가진 두 개의 객체를 함께 사용하거나, 객체들을 서로 묶어 새로운 기능을 제공하는 등의 역할을 합니다.

Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy

행동 패턴

행동 패턴(Behavioral Pattern) : 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴입니다. 즉, 객체의 행동 패턴에 초점을 맞춥니다. Strategy, Template Method, Visitor, Iterator, Observer