Design Patterns 2

커맨드 패턴(Command Pattern)

개발을 하다 보면 이런 상황을 자주 만난다."어떤 요청을 해야 하는지는 알지만, 그 요청을 어떻게 처리할지는 나중에 정하고 싶을 때""요청을 큐에 넣어놨다가 나중에 실행하고 싶을 때""실행한 작업을 나중에 취소하거나 되돌리고 싶을 때"이런 상황에 딱 맞는 디자인 패턴이 바로 커맨드 패턴(Command Pattern)이다.커맨드 패턴이란?한마디로 말하면,"요청 자체를 객체로 만들어서 캡슐화하는 방법"이다.요청하는 쪽(Invoker) 과 요청을 실제로 처리하는 쪽(Receiver) 사이에Command 객체가 중간에 끼어들면서 요청을 깔끔하게 분리시켜준다.왜 커맨드 패턴을 쓸까?요청과 실행을 분리할 수 있다.요청을 큐에 저장해뒀다가 나중에 실행할 수 있다.요청을 취소(Undo) 할 수 있다.요청을 기록(Log..

Design Patterns 2025.04.29

1. 싱글톤 패턴

싱글톤(Singleton) 패턴은 자바에서 가장 많이 사용되는 디자인 패턴 중 하나다.한 번쯤은 "인스턴스를 하나만 만들고 싶다"라는 생각을 해봤다면, 싱글톤을 이미 직간접적으로 써봤을 수도 있다.이 글에서는 싱글톤 패턴이 무엇이고, 왜 쓰는지, 그리고 어떻게 구현하면 좋은지를 처음부터 차근차근 정리해본다. 싱글톤이란?간단히 말해,"클래스의 인스턴스를 애플리케이션 전체에서 하나만 존재하도록 보장하는 패턴"이다.설정 정보, 로그 기록기, 캐시 등 공통으로 쓰이고 하나만 있어야 하는 객체들에 주로 쓰인다. 왜 싱글톤을 쓸까?중복 인스턴스 방지→ 동일한 객체를 여러 번 만들지 않아 메모리 낭비를 막을 수 있다.공유 상태 유지→ 모든 코드에서 같은 객체를 참조하므로 설정값이나 상태가 일관된다.전역 접근→ 어디서..

Design Patterns 2025.04.14