목록Swift/Architecture (5)
GGURUPiOS

안녕하세요 최근 개인프로젝트를 진행하면서 적용한 Coordiantor 패턴에 대해 기술하려고 합니다. 일반적으로 구글링을 하다보면 childCoordinator를 부모 Coordinator가 소유하고, 필요에 따라 인스턴스를 찾아 해제하는 방식으로 이루어진 코드를 많이 만나볼 수 있는데요. 뭔가 복잡해보여서 조금 더 찾아보니 좀 더 메모리 관리에 쉽게 적용할 수 있는 방법이 있어 글을 적어봅니다 1. Child - Parent 관계의 Coordinator protocol Coordinator { func start() } class MainCoordinator: Coordinator { private var childCoordinators = [Coordinator]() private var naviga..

Clean Architecture + MVVM Clean Architecture + MVVM 에 대해 알아보자 아래는 원문 링크출처임 https://tech.olx.com/clean-architecture-and-mvvm-on-ios-c9d167d9f5b3 기본규칙 기본적인 규칙은 내부 레이어에서 외부 레이어로의 의존성을 가지지 않는다는 것임 (Clean Architecture 의 기본 룰 Dependency Rule 과 동일) 기본설계 Clean Architecture + MVVM 에서는 크게 3개의 레이어가 있음 Domain Layer : 가장 안쪽의 원 ( Use Cases, Entity 를 포함 ) Presentation Layer : UI(View) + ViewModel ( UI에는 UIView..

Clean Architecture 몇 번 들어보기만 했던 클린 아키텍처.. 최대한 알아듣기 쉽게 정리해보자! 클린 아키텍처란 로버트 C. 마틴이 제안한 아키텍처임 기본적인 구조는 아래의 그림과 같음 그림만 봐도 어질어질 하다 하나씩 뜯어보기 전에 이 아키텍처의 규칙에 대해 알아보자. 기본 전제사항 의존성(Dependency) 위의 그림에서 원의 안쪽 으로 들어갈수록 고수준(higher-level) 바깥 쪽의 원은 매커니즘이고 안쪽의 원은 정책(policies) 매커니즘: 구체적이고 기술적인 측면에서 구현에 집중되는 부분 (DB접근, 네트워크 통신 등) 정책: 동작이나 결정을 규정하는 지침이나 규칙, 보다 추상적인 개념 (보안 정책, 인증 및 권한 부여) 의존성 규칙(Dependency Rule) 소스코드..

MVVM ( Model - View - ViewModel ) MVVM에서 ViewController 는 View 로 취급 View와 Model사이에 의존성을 낮춤 IOS 에서의 ViewModel? View 와 그 상태를 UIKit에 독립적으로 표현한 것 ViewModel 은 Model 의 변경 사항을 호출하고 업데이트 된 Model로 자체 업데이트 하며 View 와 ViewModel 사이에 바인딩 되어 있으므로 뷰가 자동으로 업데이트 됨 바인딩(Binding)? View와 ViewModel 사이의 양방향 데이터 흐름 ( 쉽게 말하면: 데이터가 바뀌었으니 뷰를 업데이트, 터치 이벤트를 받았으니 데이터를 업데이트 등 ) Swift 에서는 따로 편리한 바인딩 수단이 없음 ( SwiftUI에서는 combine ..
MVC ( Model - View - Controller ) MVC는 디자인 패턴 중 하나로, 앱의 구조를 나누어 관리하고 개발하는 방법론 중 하나 임 MVC 패턴은 앱의 구성 요소를 세 가지 주요 부분으로 나누어 관리 함 Model: 데이터 관리 View: UI를 담당함 (UIview, UILabel 등) Controller: 모델과 뷰의 중재자역할, 모델의 데이터 갱신, 뷰 업데이트, 상호작용 처리 (UIViewController) Model 데이터 관리 비지니스 로직 처리 데이터 상태 관리 독립성 유지 View 데이터의 시각적 표시 사용자 입력 처리 UI 이벤트 처리 업데이트된 모델 처리 (변경 감지) UIKit의 UILabel, UIButton 등 Controller 위의 말한 Model과 Vie..