전략패턴. DIP

프록시 패턴

문지기에게 가까이 있는게 리버스 프록시, 멀리 있는게 포워드 프록시
어댑터 패턴

외부 기능을 내 프로젝트에 적용시키려면
외부 기능을 뜯어 고치는게 아니라, A라는 어댑터로 감싸서 내 프로젝트에 적용시킴
싱글톤 패턴

이 세상에 2명의 문지기를 생성할 수 없게 하기.
new 문지기 하는 코드에 private static이 붙으면 됨.

App에서 사용할 수 있도록,

Doorman 전체코드

그럼 App에서 아래와 같이 getInstance로 doorman 객체를 생성할 수 있다.

d1와 d2는 같은 객체이다. 콘솔에 보면 같은 주소값이 찍혀있음
→ 세상에 문지기는 1명만 존재하도록 하는데 성공함!
템플릿 매서드 패턴

a선생님과 b선생님과 c선생님의 공통 매서드 (굳이 반복적으로 각 객체에 생성할 필요가 없는 매서드) 들은 Teacher 추상 클래스에 구현해버리고,
나머지 각각 구현해야하는 매서드( c, d, k )는 추상클래스 속 추상매서드로 만들어 각각 클래스에서
구현하도록 함
Share article