gof

·java/summary
1. 퍼사드 패턴퍼사드 패턴의 목적은 클라이언트가 사용해야 하는 복잡한 서브 시스템 의존성을 간단한 인터페이스로 추상화하는 구조적 패턴이다. 코드 작업을 위해서는 객체 초기화, 종속성 관계 추적, 메서드 실행 순서에 관한 내용에 관해 이해해야 한다. 여러 비즈니스 로직들의 세부 구현 사항을 알고 있다면 코드를 이해하고 유지 관리하기 어려워 추상화가 필요하다. 이를 해결하기 위한 방법이 퍼사드 패턴이다. 퍼사드를 사용하는 이유는 loosely coupling 이다. tight coupling 은 해당 코드를 변경하기 어렵고, 변경 이유도 많고, 테스트도 어렵다. 이를 loosely coupling 을 통해 변경에 유연하고, 테스트하기 쉬운 코드로 작성하기 위함이다. 추상화 또한 이와 관련된 내용이며 세부 ..
·java/summary
1. 커맨드 패턴(command pattern)커맨드 패턴은 호출자(클라이언트 또는 호출자) 와 수신자(작업 수행 개체)에서 분리(decoupling) 하여 유연성과 확장성을 제공하는 패턴이다. 즉, 호출자의 코드를 변경하지 않고 다양한 매개변수를 사용해 다양한 명령을 생성할 수 있다. 요청을 캡슐화해서 해당 요청 안에서 수행할 동작을 설정하고 수신자를 호출할 때 호출할 행동과 필요한 파라미터에 관한 모든 정보들을 커맨드(command) 라는 인터페이스 안으로 캡슐화하기 때문에 기능을 재사용할 수 있다.  커맨드 패턴의 OCP 을 실현할 수 있는 장점이 있다. 호출자 쪽의 코드가 변경되지 않으며 기능(command) 캡슐화 및 추가할 수 있기 때문이다. 하지만, 기능(command) 가 증가할수록 복잡도..
·java/summary
1. 책임 연쇄 패턴(Chain of Responsibility pattern)책임 연쇄 패턴은 핸들러들의 체인(사슬)을 따라 요청을 전달할 수 있게 해주는 행동 디자인 패턴이다. 각 핸들러는 요청을 받으면 요청을 처리할지 또는 체인의 다음 핸들러로 전달할지 결정한다. 책임 연쇄 패턴을 사용하면 SRP 를 지킬 수 있다. SRP 는 객체는 단 하나의 책임을 가져야 한다는 원칙이다. 즉, 변경되어야 할 이유 또한 한가지여야 한다는 의미이다. 책임 연쇄 패턴을 사용하면 각 핸들러에게 책임을 맡기고 핸들러 책임 외에는 다른 핸들러에게 위임하기 때문에 SRP 를 지킬 수 있다. 책임 연쇄 패턴은 요청을 보내는 주체와 요청을 처리하는 주체를 분리하는 패턴으로 요청을 보내는 주체가 요청을 처리하는 핸들러가 구체적인..
cooper25
'gof' 태그의 글 목록