객체지향 설계에 더 좋은 아키텍쳐를 설계하기 위해 지켜야하는 원칙들의 5가지
SOLID 원칙을 지킴으로써 유지보수가 쉽고, 유연하고, 확장이 쉬운 소프트웨어
서로 다른 모듈간의 상호 의존하는 정도 또는 연관된 관계
⇒ 결합도는 낮을수록 좋다!
모듈 내부의 요소들 간의 기능적 연관성을 나타내는 척도
⇒ 유지보수가 용이해짐!
클래스나 함수를 설계할 때, 각 단위들은 단 “하나의 책임”만을 가져야 한다
⇒ 각 클래스 별로 책임을 적절히 나눠서 응집도를 높이고 결합도를 낮추는 프로그램 설계
ex) MVC 패턴 → ViewController는 상당히 많은 역할과 책임을 가집니다