어떤 인터페이스의 호환성을 높여 주는 패턴이에요. 서로 다른 클래스들이 함께 작동할 수 있도록 변환해줘요. 클라이언트가 원하는 형식으로 데이터를 제공할 수 있어요.
커맨드 패턴은 요청을 객체로 캡슐화하여 요청의 매개변수화와 요청 기록, 그리고 요청 취소 기능을 제공합니다. 이를 통해 호출자와 수신자 간의 결합도를 낮춥니다. 또한, 큐 또는 로그의 작업을 지원하기 위해 사용될 수 있어요.
Command Query Responsibility Segregation
명령과 조회를 분리하여 시스템의 효율성을 높이는 디자인 패턴이에요. 이 패턴은 데이터 변경을 처리하는 명령과 데이터 조회를 별도로 처리하여 성능을 최적화할 수 있게 해줘요. 결과적으로, 유지보수성과 확장성이 향상되는 효과가 있어요.
Decorator Pattern은 객체에 새로운 기능을 동적으로 추가하는 방법이에요. 기존 객체의 구조를 유지하면서도 다양한 확장성이 가능하게 해줘요. 주로 기능을 추가할 때 사용되는 유연한 디자인 패턴이에요.
이 패턴은 복잡한 시스템을 간단한 인터페이스로 감싸는 방식이에요. 이를 통해 사용자에게 더 쉽게 접근할 수 있도록 하고, 내부 구조의 변경에 영향을 주지 않게 해요. 유지보수성과 사용자 편의성을 높이는 데 도움을 줘요.
이 패턴은 객체 생성의 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정해요. 이를 통해 코드의 확장성을 높이고, 객체 생성 로직을 캡슐화할 수 있어요. 클라이언트는 구체적인 클래스에 의존하지 않게 되니, 소프트웨어 유지보수가 쉬워져요.