앱과 서브 모듈

2022. 8. 5. 14:17iOS/패턴

앱의 구성

앱 - 네비게이션 시스템, 페이지
ㄴ 서브 모듈
  ㄴ 디자인 시스템
ㄴ 서브 모듈
  ㄴ 디자인 시스템
ㄴ 서브 모듈
  ㄴ 디자인 시스템

모듈간의 통신 - DI를 통한 의존성 역전

https://minsone.github.io/programming/swift-solved-circular-dependency-from-dependency-injection-container

 

[iOS][Swift] 모듈간의 관계를 Dependency Injection Container으로 풀어보자

경고:본 내용은 이해하면서 작성하는 글이기 때문에 잘못된 내용이 포함될 수 있습니다. 따라서 언제든지 내용이 수정되거나 삭제될 수 있습니다. 잘못된 내용이 있는 부분이 있어 의견 주시면

minsone.github.io

서브 모듈끼리의 의존도는 사이클이 발생해서는 안됨

접근하는 것이 아니라 의존성 역전을 통해 간접적으로 호출하는 것, 이를 위한 인터페이스(프로토콜)이 필요

 

모듈간의 통신 - 메세지 큐를 이용한 방법

메세지큐에 task를 담고 distribute

메세지를 전달하면 각 모듈은 receiver를 통해 handling

 

의존성

UI에 대한 의존과 기능에대한 의존은 다름

 

p.s. 뷰 모델

- 뷰 모델은 뷰에 대한 추상일 뿐임

- 필요한 곳에만 뷰에대한 추상을 적용해야 함

- 한개의 뷰는 여러개의 뷰 모델을 가질 수 있음

- 추상 정도도 여러 계층으로 나뉠 수 있음

 

UI에 대한 의존도가 강한 뷰 모델 / UI에 대한 의존도가 전혀 없는 뷰 모델

e.g. 버튼에 대한 속성을 가지는 뷰 모델 / 데이터만 가지고 있는 뷰 모델

 

- 출처 우미

'iOS > 패턴' 카테고리의 다른 글

이미지 피커 첫번째 셀에 camera 넣기  (0) 2022.07.25