ios 프로젝트
-
[iOS-2] Dependency Container로 의존성 관리하기Project/TalkTalk 2025. 3. 31. 23:01
의존성 주입이란?의존성 주입(Dependency Injection)은 한 객체가 다른 객체에 의존할 때, 외부에서 해당 의존성을 제공하는 디자인 패턴이며 다음과 같은 이점을 가질 수 있습니다. 결합도 감소: 객체가 자신의 의존성을 직접 생성하지 않아 결합도가 낮아집니다.테스트 용이성: 실제 구현체 대신 테스트용 모의 객체를 주입할 수 있습니다.유연성: 런타임에 의존성을 변경할 수 있어 유연한 설계가 가능합니다.코드 재사용성: 의존성이 분리되어 컴포넌트의 재사용이 용이해집니다.예를 들어 네트워크 통신이 필요한 뷰모델이 있다고 할 때, 이 뷰모델은 네트워크 작업을 하는 객체를 내부에서 직접 생성하지 않고 뷰모델 객체가 생성되는 시점에 외부에서 주입받습니다. 좀더 자세히 설명해 보면 NetworkServic..
-
[iOS-1] Coordinator 패턴을 사용한 화면 전환 관리Project/TalkTalk 2025. 3. 28. 22:03
Coordinator 패턴이란?Coordinator 패턴은 화면 전환 로직을 ViewController로부터 분리하여 별도의 객체(Coordinator)에게 위임하는 아키텍처 패턴입니다. 이 패턴을 통해 ViewController는 UI 표시와 사용자 입력 처리에만 집중할 수 있고, 복잡한 화면 전환과 앱의 전체 흐름은 Coordinator가 관리하게 됩니다.Coordinator 패턴 구현 Coordinator 프로토콜을 정의하여 각 화면을 관리하는 Coordinator들이 반드시 포함해야할 구현을 강제합니다. /// Coordinator 패턴을 구현하기 위한 기본 프로토콜/// 앱의 화면 흐름을 관리하고 뷰 컨트롤러 간 전환 로직을 캡슐화합니다.protocol Coordinator: AnyObject ..
-
얼만큼 할 수 있고 얼마만에 할 수 있을까? - 파이룰Apple Developer Academy @ POSTECH🍍 2024. 10. 14. 22:45
일단 지금 할 수 있는 것을 하자.애플 아카데미에서 지낸지도 6개월이 다되어가는 시점에 마지막 메크로 프로젝트를 맞이하게 되었다.우리팀은 메크로 주제를 멘토께서 협업프로젝트로 가져오신 공유자전거로 선택하였다.외부와 협업을 경험해볼 수 있다는 점, 이미 많은 공유자전거 플렛폼이 존재하여 레퍼런스가 많다는 점, 그리고 실 사용대상이 가까이 있다는 점들이 장점으로 다가왔기 때문이다. 그러나 주제를 선택한 시점으로부터 기관과의 미팅을 하기까지 일주일간의 시간을 기다려야하는 상황이 되니팀 내부적으로 앞으로 기관과 소통주기가 이렇게 길다보면 중간중간 뜨는 시간이 많이 생길 것 같다는 걱정이 나왔다.그리고 협업과정에서 어그러져버리면 우리는 어떻게 대처해야할지에 대한 고민이 있었다.따라서 자전거라는 도메인을 유지하며 ..