디자인 패턴
객체 지향 디자인 원칙
애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다.
구현보다는 인터페이스에 맞춰서 프로그래밍한다.
상속보다는 구성을 활용한다.
상호작용하는 객체 사이에는 가능하면 느슨한 결합을 사용해야 한다.
클래스는 확장에는 열려 있어야 하지만, 변경에는 닫혀 있어야 한다.
추상화된 것에 의존하게 만들고 구상 클래스에 의존하지 않게 만든다.
진짜 절친에게만 이야기해야 한다.
어떤 객체든 그 객체와 상호작용을 하는 클래스의 개수와 상호작용 방식에 주의를 기울여야 한다.
할리우드 원칙 (먼저 연락하지 마세요. 저희가 연락 드리겠습니다.)
고수준 모듈(추상클래스, 인터페이스)에 의존하고 고수준 모듈에서 연락(메서드 실행)하라는 원칙
고수준 모듈이 필요할 때 저수준 모듈(서브클래스)을 호출한다.
어떤 클래스가 바뀌는 이유는 하나뿐이어야 한다.
생성 패턴
구조 패턴
행동 패턴
Last updated