본 포스트는 온라인 강의를 통해 스터디 진행한 후 정리하는 포스트이다.

 

강의 초반에서 지속적으로 Composition 이란 개념을 일깨워준다.

 

Composition = 구성
Composition(in IT) = 객체와 데이터타입을 조합하여 어려운 객체나 데이터 타입을 만든다.

Composition을 잘 활용한다면 SOLID 원칙의 SRP(단일 책임 원칙)를 잘 지킬 수 있다고 한다.

 

Composition의 활용

어떤 아키텍처든지 Massive를 벗어날 수 있다 (MVC - VC, MVVM - VM 등 하나의 클래스가 너무 많은 코드를 갖게 되는 현상)

-> 다만, Composition을 잘만 활용한다면 !

 

상속

  • 상속은 꼭 필요할 때만 사용하라
    • 부모의 메소드를 거부하기 위해서, 빈 override를 활용할 수도 있음
      • (이런 상황은 별도의 Protocol을 선언해서 구현하는 편이 낫지 않나?)

 

원칙

이전에 클린코드, 클린아키텍처 등의 스터디를 진행하면서 느꼈던 점이다.

"적힌 모든 챕터들의 내용은 읽다보면 당연하게 생각했지만, 나는 실제로 그것들을 모두 지키면서 개발하고 있는가?" 

-> 절대 아니었다. 그리고 강의에서는 "원칙을 100프로 지킬 필요는 없지만, 최대한 지키면서 진행해야 유연해진다."

-> (원칙들을 지키고자하는 코드와 처음부터 무시한 코드는 다를 것이다. 는 것을 느꼈다)

 

 

객체의 Composition의 예

하나의 아이폰 화면내부에 하나의 VC만 두지 않는 예이다.

A와 B의 기능/서비스를 분리하여 2개의 VC로 나누었으며 C라는 VC를 두어 A와 B를 관리한다.

-> C의 역할을 하는 VC는 흔히 NavigationViewController, TabBarViewController 등이 있다.

 

Composition = 블랙박스 -> 숨길 수 있는 것들은 숨기며 공유

상속 = 화이트박스 -> 거의 대부분의 많은 것들을 공유

와 같다.

 

이외의 내용들은 예제 프로젝트를 진행하는 것이었다.

 

 

 

 

 

'스터디 > RIBs' 카테고리의 다른 글

[RIBs] RIBs가 나오게 된 배경  (0) 2021.11.30

+ Recent posts