# Head First Design Pattern
싱글턴 패턴(Singleton Pattern)
특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해주는 패턴.클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공한다."스스로에게 어떻게 하면 한 클래스의 인스턴스를 두 개 이상 만들지 않게 하지?" 라는 질문을 던져보기.위와 같은 방법을 이용하면 pu
[7장] Adapter Pattern과 Facade Pattern
객체 어댑터: Composition으로 Adapter에게 요청을 전달어댑터 클래스와 그 서브 클래스에 대해서도 어댑터 역할 가능Composition을 사용하여 유연함클래스 어댑터: Target와 Adatper 모두 서브클래스로 만들어서 사용특정 어댑터 클래스에만 적용할
[5장] Singleton Pattern
고전적인 싱글턴 패턴 구현=> 자원을 많이 차지하는 것을 방지(오버헤드 방지), 필요할 때만 사용 가능문제점: 멀티스레딩 문제 발생 => 동시에 실행되었을 때,인스턴스가 생성되었는지 모르고 2개의 인스턴스를 생성하게 됨해결방안1) getInstance의 속도가 그리 중
[4장] Factory Pattern
Factory Pattern ( 팩토리 패턴 ) : 객체를 생성할 때 필요한 인터페이스를 만듬, 어떤 클래스의 인스턴스를 만들지 서브클래스에서 결정 Factory : 객체를 생성하는 클래스 OO 원칙 : 추상화된 것에 의존하게 만드록, 구상 클래스에 의존하지 않게
[3장] Decorator Pattern
OO 원칙: 클래스는 확장에는 열려있어야 하지만, 변경에는 닫혀있어야 한다.슈퍼클래스 Beverage에 여러 개의 커피 메뉴 클래스를 상속으로 추가할 경우, 많은 수의 상속 관계가 발생하는 문제점이 있음따라서 음료에 여러 첨가물들을 장식(데코레이트)하는 방법으로 구현변
Head First Design Patterns (1~5) WIP
객체 지향의 기초 추상화 캡슐화 다형성 상속 객체지향 원칙 바뀌는 부분은 캡슐화 한다. 상속보다는 구성을 활용한다. 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. 클래스는 확