본문 바로가기
반응형

Architecture8

[Swift] 싱글톤(Singleton)패턴과 예제 Singleton Pattern이란? 싱글톤 패턴이란, 특정 클래스의 인스턴스가 하나만 생성되도록 보장하고, 이에 대한 전역적인 접근점을 제공하는 디자인 패턴 전역 접근싱글톤패턴은 전역적인 접근이 가능하다는 특징과 동시에 단점이 될 수 있다.전역 접근은 어플리케이션 전체에서 단 하나의 인스턴스에 접근할 수 있어, 여러 곳에서 동일한 객체를 필요로 할 때 유용하지만, 그만큼 유의해야할 점도 있다. How 어떻게 쓰는가?static과 private initclass Singleton { static let shared = Singleton() private init() { // 초기화 코드 }} static 키워드는 클래스의 인스턴스를 전역적으로 접근할 수 있도록 하기 .. 2024. 7. 23.
MVI (Model - View - Intent) MVI란? MVI는 Model-View-Intent의 약자로, 사용자의 의도(Intent)가 애플리케이션 상태(State)에 영향을 미치고, 이 상태가 뷰(View)에 반영되는 아키텍처이다.Model: 애플리케이션의 상태를 나타냅니다. 모든 UI 데이터와 비즈니스 로직을 포함View: 사용자 인터페이스를 나타내며, Model의 상태 변화를 반영Intent: 사용자의 액션이나 이벤트를 나타내며, Model의 상태를 변경하는 데 사용 그렇다면 상태(State)는 뭘까?"상태(State)"는 애플리케이션의 현재 데이터를 의미한다.상태는 즉 앱의 모든 중요한 데이터를 포함해, UI를 비롯한 다양한 부분에서 공유된다.UI 상태: 현재 화면에 표시되는 내용, 사용자 입력, 로딩 상태 등.도메인 데이터: 애플리케이션.. 2024. 6. 7.
iOS(UIKit)에서의 Coordinator Pattern Coordinator 란?하나 이상의 뷰 컨트롤러들에게 지시를 내리는 객체지시는 view의 트랜지션(화면 전환)을 의미 사용하는 이유(이점)화면 전환시, Push,Present등 VC(ViewController) 내부에 작성되어진다. 그렇게되면 책임 또한 VC가 가지게 될 뿐만 아니라, VC간 의존성이 생긴다.위와 같은 상황에서 Coordinator 패턴을 적용하여 화면 전환의 흐름을 제어하게 된다면 VC가 담당하던 책임을 Coordinator가 담당하게 된다.VC에서 사용할 VM(ViewModel)을 함께 주입해줄 수 있어 DI(의존성주입) 또한 쉽게 해결가능하다.즉 화면 전환 제어 담당과 의존성 주입을 하게 해주는 허브. VC가 갖고있는 FlowLogic을 떼어내, Massive해지지 않게 해주기도 .. 2023. 9. 18.
iOS(UIKit)에서의 CleanArchitecture+MVVM 예시 뜯어보기 https://jife98.tistory.com/34 MVVM in iOSMVVM in WPF (MVVM의 역사) MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했다. XAML (Extensibjife98.tistory.com이전 포스팅 에서, MVVM에 대한 개념과 iOS(UI Kit)에서의 MVVM에 대해 공부하고 알아보았다. 그래서, 어떻게 폴더구조와 파일들을 배치해야할까...? 여러 예제들마다, 제 각각이나, 깃헙에 스타도 많고 상세한 설명과 테스트 구조도 나와있는 예제파일을 토대로 MVVM에 대한 폴더구조와.. 2023. 9. 15.
MVVM in iOS MVVM in WPF (MVVM의 역사) MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했다. XAML (Extensible Application Markup Language) 디자이너를 위한 UI 개발환경 프로그래밍이 필요한 요소를 줄임 선언적인 UI 작성가능 ViewModel in WPF UI에 표시할 상태와 로직을 작성 UI에서 발생한 이벤트(버튼클릭등)를 위임받아 처리 ViewModel에서 발생한 변경을 UI에 반영 전통적인 개발자보다 디자이너를 위한 UI 개발환경 제공 기존 XML, HTML 보다 쉬운 XA.. 2023. 9. 4.
MVP (Model - View - Present) 세 가지 형태의 MVP 1) Taligent MVP - Model, View, Presenter, Interactor, Selections, Commands 로 계층을 세분화 - Mike Potel(Taligent사 CTO) 이 MVC를 보다 세분화한 아키텍처로 MVP를 제시 2) Supervising Controller - 간단한 프레젠테이션 로직은 뷰에서 처리, 복잡한 프레젠테이션 로직은 프리젠터가 처리 - 프레젠테이션 모델 페턴에서 끊겼던 모델과 뷰 사이의 옵저버 패턴이 부활 3) Passive View - 로직을 배제하고 화면을 출력하는 소극적인(Passive)역할만을 담당하는 뷰 - 옵저버 바인딩을 사용하지 않으며, 모델과 뷰 사이의 관계도 끊어짐 - TDD의 유행과 맞물려 보다 테스터블한 코드.. 2023. 8. 28.
반응형