디자인 패턴 은 소프트웨어 디자인에서 일반적으로 발생하는 문제에 대한 일반적인 솔루션이다.이는 코드에서 반복되는 디자인 문제를 해결하기 위해 사용자 지정할 수 있는 미리 만들어진 청사진과 같습니다.패턴은 특정 코드 조각이 아니라 특정 문제를 해결하기 위한 일반적인 개념
객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스가 내리도록 하는 패턴팩토리 메소드란 쉽게 말하면 객체를 생성 반환하는 메서드이다.다시 말해서 팩토리메서드 패턴이란 하위 클래스에서 팩토리 메서드를 오버라이딩해서 객
어댑터 패턴은 클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 변환시키는 패턴입니다.한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다.어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.전략 패턴 은 알고리즘군을 정의하고 각각의 알고리즘을 캡슐화하며 교환해서 사용할 수 있도록 만든다. 전략을 사용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.오리 연못 시뮬레이션 게임에서 오
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다.실제 기상 정보를 수집하는 장비인 기상 스테이션과 기상 스테이션으로부터
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.데코레이터 패턴을 이용하면 객체에 추가 요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브 클래스를 만드는 경우에 비해 훨씬 유연하게 기능을 확장할 수 있습니다.OO커피는 단기간에 급속도로 성장한 대형 커피 전
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.느슨한 결합을 이용하는 객체지향 디자인, 객체의 인스턴스를 만드는 작업이 항상 공개되어 있어야 하는 것은 아니며, 오히려 결합과 관련된 문제가 생길 수 있다. 팩토리 패턴을 이용하여 불필요한 의존성을 없애보자팩토리 메소드
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.느슨한 결합을 이용하는 객체지향 디자인, 객체의 인스턴스를 만드는 작업이 항상 공개되어 있어야 하는 것은 아니며, 오히려 결합과 관련된 문제가 생길 수 있다. 팩토리 패턴을 이용하여 불필요한 의존성을 없애보자추상 팩토리
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴이다.초콜릿 공장에서는 초콜릿을 끓이는 장치인 초콜릿 보일러를 컴퓨터로 제어한다.이 보일러에서는 초콜릿과
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업 취소 기능도 지원 가
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.어댑터 패턴 : 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와준다.퍼사드 패턴 : 서브시스템에 있는 일련의 인터페
헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.템플릿 메소드 패턴은 알고리즘의 골격을 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도