객체지향 설계에 더 좋은 아키텍처를 위해 지켜야 하는 원칙들
단일 책임 원칙
- 하나의 객체와 하나의 책임은 1대1 대응이어야 함 즉, 하나의 객체는 하나의 책임을 갖고, 하나의 책임은 하나의 객체에 할당되어야 함
- 단, 협력관계(Link)가 여러 개인 것은 가능
여기서, 책임이란 ?
→ Knowing, Doing으로 나뉨
Knowing
Doing
개방, 폐쇄 원칙
- 확장에는 열려있고, 변경에는 닫혀 있어야 함 → 기능 케이스를 추가할 때, 기존 코드의 변경은 없어야 함
- 객체가 변경될 때, 객체만 바뀌면 잘 지켜진 것