디자인패턴이란 반복되는 문제의 패턴을 발견하고, 유지보수 작업 시간을 줄이는 노력이다.객체지향 기법을 사용하여 Duck 슈퍼클래스를 만든 다음, 그 클래스를 확장하여 다양한 종류의 오리를 만들 수 있다.Duck 슈퍼클래스는 꽥꽥소리지르기 - quack(), 수영하기 -
객체간의 일대다 관계, 느슨한 결합이 핵심.클라이언트에게 WeatherData 객체를 사용하여 현재 조건, 기상 통계, 기상 예측, 이렇게 세 항목을 디스플레이 장비에서 갱신해 가면서 보여주는 애플리케이션을 만들어달라는 요구사항을 받았습니다.디자인 패턴은 처음부터 만들
이번 장에서는 상속남용 문제를 살펴보고, 런타임에서 객체를 디자인 하는 방법을 살펴봅니다.스타버즈에선 음료주문 시스템을 만들고자 합니다. 그런데 사업이 번창할수록 다양한 음료를 만들게 되었습니다.현재 스타버즈는 상속을 이용하여 주문할 수 있는 음료를 관리하고 있습니다.
객체의 인스턴스 생성 작업을 외부에 위임하여 슈퍼클래스의 불필요한 의존성을 없앤다. 피자 가게에서 피자를 만들기 위해선 크게 3가지가 필요합니다.orderPizza(): 고객이 피자를 주문할 수 있어야 합니다.createPizza() : 피자가게는 주문받은 피자를 만들
애플리케이션에서 단 하나의 인스턴스만 만들수 있도록 하고, 멀티 스레드 환경에서도 안전한 싱글턴 패턴 구성 방법을 살펴봅니다.💡 싱글톤 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴입니다. 구현 원리클래
메소드 호출을 캡슐화하여 인보커와 리시버를 분리시켜, 인보커(리모컨 같이 계산하는 코드를 호출한 객체)는 자신이 구체적으로 어떤 작업을 하는지에 대해 전혀 신경쓰지 않도록 하는 것이 핵심입니다.💡 NOTE커맨드 패턴을 이용하면 요구사항을 객체로 캡슐화 할 수 있으며,