본 포스트는 온라인 강의를 통해 스터디 진행한 후 정리하는 포스트이다.
강의 초반에서 지속적으로 Composition 이란 개념을 일깨워준다.
Composition = 구성
Composition(in IT) = 객체와 데이터타입을 조합하여 어려운 객체나 데이터 타입을 만든다.
Composition을 잘 활용한다면 SOLID 원칙의 SRP(단일 책임 원칙)를 잘 지킬 수 있다고 한다.
Composition의 활용
어떤 아키텍처든지 Massive를 벗어날 수 있다 (MVC - VC, MVVM - VM 등 하나의 클래스가 너무 많은 코드를 갖게 되는 현상)
-> 다만, Composition을 잘만 활용한다면 !
상속
- 상속은 꼭 필요할 때만 사용하라
- 부모의 메소드를 거부하기 위해서, 빈 override를 활용할 수도 있음
- (이런 상황은 별도의 Protocol을 선언해서 구현하는 편이 낫지 않나?)
- 부모의 메소드를 거부하기 위해서, 빈 override를 활용할 수도 있음
원칙
이전에 클린코드, 클린아키텍처 등의 스터디를 진행하면서 느꼈던 점이다.
"적힌 모든 챕터들의 내용은 읽다보면 당연하게 생각했지만, 나는 실제로 그것들을 모두 지키면서 개발하고 있는가?"
-> 절대 아니었다. 그리고 강의에서는 "원칙을 100프로 지킬 필요는 없지만, 최대한 지키면서 진행해야 유연해진다."
-> (원칙들을 지키고자하는 코드와 처음부터 무시한 코드는 다를 것이다. 는 것을 느꼈다)
객체의 Composition의 예
하나의 아이폰 화면내부에 하나의 VC만 두지 않는 예이다.
A와 B의 기능/서비스를 분리하여 2개의 VC로 나누었으며 C라는 VC를 두어 A와 B를 관리한다.
-> C의 역할을 하는 VC는 흔히 NavigationViewController, TabBarViewController 등이 있다.
Composition = 블랙박스 -> 숨길 수 있는 것들은 숨기며 공유
상속 = 화이트박스 -> 거의 대부분의 많은 것들을 공유
와 같다.
이외의 내용들은 예제 프로젝트를 진행하는 것이었다.
'스터디 > RIBs' 카테고리의 다른 글
[RIBs] RIBs가 나오게 된 배경 (0) | 2021.11.30 |
---|