앱 아키텍쳐 구축

mvc
vc가 상당히 비대해진다
mvvm 도입시
vm으로 쪼개게 되어서 작아지는 느낌이 된다.
vm이 커지게 된다.
등등 massive는 아키텍쳐의 문제가 아니다.
Gof책에서도 상속대신 합성을 선호해라
상속은 유연성이 떨어진다.
부모의 행위를 거부하는것은 리스코프 원칙에 어긋난다.
UISwitch가 대표적으로 frame을 바꿔도 사이즈가 변경되지 않아서 리스코프 원칙 위반으로 혼란 야기
Value타입은 상속을 지원하지 않아서 합성을 쓸수 밖에 없고 스유의 경우 밸류 타입이다.
상속은 화이트박스 합성은 블랙박스
합성을 이용하면 복잡해보이는 기능도 조합하여 분리 할 수 있다.
얼마나 쪼갤지 파악하는것은 개발자의 몫
모바일 앱에서는 네비게이션만해도 크기떄문에 코디네이션과 분리한다.

RIBs

리블렛 - 립(갈비)의 뼈 하나하나를 의미 여기서는 각 화면의 ribs한 세트를 의미