BackEnd(Java)/Design Pattern(8)
-
어댑터 패턴
✅ 아래 내용들에 대해서 알아보자- 어댑터 패턴이란- 코드를 보면서 어댑터 패턴을 이해해 보자- 정리 어댑터 패턴어댑터 패턴은 두 개의 서로 호환되지 않는 인터페이스를 연결해 주는 디자인 패턴입니다.이 패턴은 기존 클래스를 변경하지 않고도 다른 인터페이스와 호환되도록 만들 때 유용하고, 주로 클라이언트 코드가 특정 인터페이스를 기대하지만 기존 클래스의 인터페이스와 일치하지 않을 때 사용한다. 이 패턴을 사용하여 인터페이스를 변환해 주는 어뎁터를 만들면 호환되지 않는 인터페이스를 사용하는 클라이언트를 코드변경 없이 그대로 활용할 수 있게 된다. 이러면 클라이언트와 구현된 인터페이스를 분리할 수 있으며, 변경 내역이 어댑터에 캡슐화되기에 나중에 인터페이스가 바뀌어도 클라이언트를 바꿀 필요가 없게된다
2024.10.08 -
싱글톤 패턴
✅ 아래 내용들에 대해서 알아보자- 싱글톤 패턴이란- 코드를 보면서 싱글톤 패턴을 이해해 보자- 정리 싱글톤 패턴
2024.10.07 -
커맨드 패턴
✅ 아래 내용들에 대해서 알아보자- 커맨드 패턴이란- 코드를 보면서 커맨드 패턴을 이해해 보자- 정리 커맨드 패턴커맨드 패턴은 행동 요청을 객체로 캡슐화하여 요청을 나중에 사용할 수 있도록 저장하거나, 요청을 큐에 담거나, 로그로 남기거나, 되돌리기(undo) 등을 가능하게 하는 디자인 패턴입니다. 이 패턴을 사용하면 요청을 클라이언트와 실행을 담당하는 객체 간에 분리할 수 있어 유연하고 확장 가능한 디자인이 가능합니다. 커맨드 패턴에는 인보커, 커맨드, 리시버, 클라이언트로 구성되는데 각각 역할에 대해서 알아봅시다.(아래 그림 참고) 1. 인보커(Invoker, 호출자)인보커는 커맨드(Command) 객체를 저장하고 커맨드 객체의 execute를 호출하는 역할을 한다. 인보커는 setCommand..
2024.10.07 -
데코레이터 패턴
✅ 아래 내용들에 대해서 알아보자- 데코레이터 패턴이란?- 코드를 보면서 옵저버 패턴을 이해해보자- 정리 데코레이터 패턴 옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다. 예시로 신문을 구독하는 상황으로 신문사는 신문을 제공하는 주체(Subject) 사이고 구독자는 신문을 받는 옵저버(Observers)이다.출처: https://magical52.tistory.com/234 [한량 개발자:티스토리]
2024.09.24 -
옵저버 패턴
✅ 아래 내용들에 대해서 알아보자- 옵저버 패턴이란?- 코드를 보면서 옵저버 패턴을 이해해보자- 정리 옵저버 패턴 옵저버 패턴은 행위패턴 중 하나로써 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다. 예시로 신문을 구독하는 상황으로 신문사는 신문을 제공하는 주체(Subject) 사이고 구독자는 신문을 받는 옵저버(Observers)이다. 옵저버 패턴을 실제로 적용해 볼까요?옵저버를 구성하는 Observer 인터페이스와 주체를 구성하는 Subject 인터페이스가 구성이 됩니다.Subject에서 데이터가 변경되면 update 메서드를 호출하여 모든 Observer들에게 데이터를 일괄 전송하는 방식을 PUSH 방식이라고 합니다..
2024.09.23 -
전략 패턴
✅ 아래 내용들에 대해서 알아보자 - 전략 패턴이란? - 코드를 보면서 전략 패턴을 이해해보자 - 테스트 코드를 통해 검증하기 - 정리 전략 패턴 전략 패턴은 행위 패턴 중의 하나로써 변하지 않는 부분과 변하는 부분을 구분하여 변하지 않는 부분을 "Context"라는 곳에 두고, 변하는 부분을 "Strategy"라는 인터페이스를 만들고 해당 인터페이스를 구현하도록 해서 문제를 해결하는 방식이다. 전략 패턴에서 context는 변하지 않는 템플릿 역할을 하고, Strategy는 변하는 알고리즘 역할을 한다. 전략 패턴은 상속이 아닌 위임으로 문제를 해결한다. GOF 디자인 패턴에서 정의한 전략 패턴은 의도는 다음과 같다 알고리즘 제품군을 정의하고 각각을 캡슐화하여 상호 교환 가능하게 만들자. 전략을 사용하..
2022.10.10