SteadyDrills

소프트웨어 설계 패턴 본문

CS

소프트웨어 설계 패턴

Drills 2024. 11. 13. 23:22

2401113

 

소프트웨어 설계 패턴

소프트웨어 설계 패턴은 소프트웨어 개발 중 자주 직면하는 문제를 해결하기 위한 유용한 솔루션이다. 이 패턴들은 소프트웨어의 구조와 유지보수성을 개선하는 데 초점을 맞추고 있으며, 설계 패턴을 잘 활용하면 효과적이고 유연한 소프트웨어를 제작할 수 있다.

 

생성 패턴 (Creational Patterns)

생성 패턴은 객체 생성 메커니즘을 다루며, 객체의 생성 과정을 추상화하여 코드의 유연성과 재사용성을 높이는 형식이다. 
  • 싱글턴 패턴 (Singleton Pattern): 클래스의 인스턴스가 오직 하나만 존재하도록 보장.
  • 팩토리 메서드 패턴 (Factory Method Pattern): 객체 생성의 인터페이스를 정의하고, 서브클래스에서 어떤 객체를 생성할지를 결정.
  • 추상 팩토리 패턴 (Abstract Factory Pattern): 관련된 객체들을 생성하는 인터페이스를 제공.

 

구조 패턴 (Structural Patterns)

구조 패턴은 클래스나 객체의 조합을 통해 더 큰 구조를 형성하는 방법을 제공한다. 

 

  • 어댑터 패턴 (Adapter Pattern): 서로 다른 인터페이스를 가진 클래스들이 함께 작업할 수 있도록 변환.
  • 데코레이터 패턴 (Decorator Pattern): 객체에 추가적인 기능을 동적으로 추가할 수 있게 함.
  • 프록시 패턴 (Proxy Pattern): 다른 객체에 대한 접근을 제어하는 대리 객체를 제공.

 

행동 패턴 (Behavioral Patterns)

행동 패턴은 객체 간의 상호작용과 책임 분배를 다룬다. 

 

  • 옵저버 패턴 (Observer Pattern): 객체의 상태 변화에 따라 다른 객체들에게 알림을 보내는 패턴.
  • 전략 패턴 (Strategy Pattern): 알고리즘을 캡슐화하여 클라이언트에서 동적으로 알고리즘을 선택할 수 있게 함.
  • 커맨드 패턴 (Command Pattern): 요청을 객체로 캡슐화하여 요청의 매개변수화, 큐잉 및 로깅을 가능하게 함.

 

 

'CS' 카테고리의 다른 글

세션 인증과 JWT 인증의 차이  (1) 2024.11.24
JWT(JSON Web Token)  (0) 2024.11.18
HTTPS와 SSL/TLS  (0) 2024.11.05
PUT과 PATCH  (0) 2024.09.11
인증(Authentication)과 권한(Authorization)  (1) 2024.09.05