Ch 01 디자인 패턴의 세계로 떠나기[전략]
Head First Design Pattern 1장
Feb 22, 2023
바뀌는 부분은 따로 뽑아서 캡슐화한다. 그러면 나중에 바뀌지 않는 부분에는 영향을 미치지 않고 그 부분만 고치거나 확장할 수 있다.
구현보다는 인터페이스에 맞춰서 프로그래밍 한다.
사실…. 상위 형식에 맞춰서 프로그래밍 한다.
두 클래스를 합치는 방법
A에는 B가 있다 관계..
⇒ 상속보다는 구성을 활용한다.
전략 패턴(Strategy Pattern)
알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 함. 전략 패턴을 이용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경 가능.
바뀌지 않는 부분과 바뀌는 부분을 분리하는 작업이 중요
디자인 도구들
객체지향 기초
- 추상화
- 캡슐화
- 다형성
- 상속
객체지향 원칙
- 바뀌는 부분은 캡슐화 한다.
- 상속보다는 구성을 활용한다.
- 구현보다는 인터페이스에 맞춰서 프로그래밍한다.
- 상호작용하는 객체 사이에서는 가능하면 느슨한 결합을 사용해야 한다
- 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다.(OCP)
- 추상화된 것에 의존하게 만들고 구상 클래스에 의존하지 않게 만든다.
- 진짜 절친에게만 이야기해야 한다.
- 먼저 연락하지 마세요. 저희가 연락 드리겠습니다.
객체지향 패턴
전략 패턴(Ch 01)
옵저버 패턴(Ch 02)
데코레이터 패턴(Ch 03)
추상팩토리 패턴(Ch 04), 팩토리 메소드 패턴(Ch 04)
싱글턴 패턴(Ch 05)
커맨드 패턴(Ch 06)
어댑터 패턴(Ch 07), 퍼사드 패턴(Ch 07)
템플릿 메소드 패턴(Ch 08)
Share article