헤드퍼스트디자인패턴 2

[헤드퍼스트 디자인패턴] chapter8. 템플릿 메소드 패턴 (템플릿 메소드패턴, 할리우드원칙)

템플릿 메소드 패턴 1. 정의 - 알고리즘의 골격을 정의 - 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브 클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의 가능 할리우드 원칙 (hollywood principle) 1. 정의 - 저수준 구성 요소가 시스템에 접속할 수는 있지만 언제 어떻게 그 구성 요소를 사용할지는 고수준 구성 요소가 결정한다. - 즉, 고수준 구성 요소가 저수준 구성 요소에게 '먼저 연락하지 마세요. 제가 먼저 연락드리겠습니다'와 동일하다. 2. 할리우드 원칙 vs 의존성 뒤집기 원칙 - 의존성 뒤집기 원칙 : 될 수 있으면 구상 클래스 사용 줄이고 추상화된 것 사용해야 한다는 원칙 - 할리우드 원칙 : 저수준 구성 ..

개발/꿀팁 2023.11.14

[헤드퍼스트 디자인패턴] chapter7.어댑터 패턴과 퍼사드 패턴 (어댑터 패턴, 퍼사드 패턴, 최소 지식 원칙, 데메테르 법칙)

어댑터 패턴 1.정의 - 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와준다. 2. 특징 - 객체 어댑터와 클래스 어댑터가 있다. 퍼사드 패턴 1. 정의 - 서브시스템에 있는 일련의 인터페이스를 통합 인터페이스로 묶어준다. 또한 고수준 인터페이스도 정의하므로 서브시스템을 더 편리하게 사용할 수 있다. cf) 데코레이터 vs 어댑터 vs 퍼사드 - 데코레이터 : 인터페이스는 바꾸지 않고 책임(기능)만 추가 - 어댑터 : 하나의 인터페이스를 다른 인터페이스로 변환 - 퍼사드 : 인터페이스를 간단하게 변경 최소 지식 원칙 (principle of least knowlege) = 데메테르의 법칙과도 동일한 ..

개발/꿀팁 2023.11.13
반응형