일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- iOS 13.0+
- github
- iOS 개발자
- regex
- 정규표현식
- Firebase
- Git
- xcodecloud
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- uikit
- navigationsplitview
- composablearchitecture
- concurrency
- Alamofire
- swiftdata
- SWIFT
- TCA
- combine
- UI
- ObjC
- 모바일
- SWIFTUI
- xcode
- network
- Navigation
- Tuist
- test
- ios18
- IOS
- 개발
- Today
- Total
목록Architecture, Design Pattern (4)
iOS 개발 기록
Coordinator Pattern Date: 2022년 12월 5일 Tags: 화면전환 📄 목차 Coordinator란? 하나 이상의 ViewController에 지시를 내리는 객체. ViewController간에 서로 이동할 때에 push, present 등 화면 전환을 Coordinator 클래스로 분리해 관리. ViewController들이 서로 분리되어 쉽게 재사용할 수 있음. 특징 Coordinator 별로 하나 이상의 ViewController을 보유한다. 각 Coordinator은 일반적으로 start라고 불리는 메서드로 ViewController을 표시한다. 각 ViewController에는 Coordinator에 대한 delegate가 있다. 각 Coordinator에는 child co..
의존성 규칙 대부분의 아키텍처는 세부적인 면은 차이가 있어도 관심사의 분리라는 공통된 목표를 가지고 있다. 이를 소프트웨어의 계층을 분리함으로 달성할 수 있다. 위의 그림은 해당 아이디어를 구현한 다이어 그램인데, 분리된 계층에서 안쪽으로 들어갈 수록 고수준의 소프트웨어가 된다. 고수준, 저수준에 대해 내가 이해한 바로는 다음과 같다. - 고수준 : 정책, 추상회된 개념, 외부에 의해 변화가 생기지 않는 프로그램 내가 사용했던 코드들을 예로 생각해보면 RealmManager : 데이터를 Realm DB에 CRUD한다. AlamofireManager: 네트워크 통신을 호출한다. - 저수준 : 구체적인 동작, 세부적인 동작을 결정해주는 프로그램 DrawingManager : Drawing 데이터를 Realm..
SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이 클래스들을 서로 결합하는 방법을 설명해준다. 여기서 클래스는 함수와 데이터를 결합한 집합을 가리킨다. SOLID 원칙의 목적은 소프트웨어 구조가 다음과 같도록 만드는데 있다. - 변경에 유연하다 - 이해하기 쉽다 - 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다. 아래는 이들 SOLID원칙을 이루는 원칙들에 대한 개략적인 설명이다. -SRP(Single Responsibility Principle) 단일 책임 원칙 : 각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. 서로 다른 사용자가 의존하게 되는 코드를 분리하는 것이 핵심. - OCP(Open-Closed Principle) 개방-폐쇄 원칙 : 기존 ..
MVC 패턴과 MVVM패턴이란? 화면에 보여주는 프레젠트 로직과 실제 데이터가 처리되는 비지니스 로직을 분리하여 새로운 기능의 개발이나 유지보수에 용이하도록 사용하는 것을 목적에 둔다. MVC 정의 : Model(애플리케이션의 정보), View(사용자 인터페이스), Controller(데이터와 비즈니스 로직 사이의 상호 동작을 관리)의 약자. Model Model은 Data와 애플리케이션이 무엇을 할 것인지를 정의하는 부분으로 내부 비즈니스 로직을 처리하기 위한 역할을 한다. 모델은 컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할. 데이터 추출, 저장, 삭제, 업데이트 등의 역할을 수행. Mode의 규칙 사용자가 편집하기를 ..