 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

MVC 3

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 8부 - 데이터 바인딩

Overview MVC 아키텍처에서 Model의 데이터를 View에 바인딩시키며 생산성 향상을 위해 활용할 수 있는 테크닉을 생각해 본다. Controller MVC 패러다임에서 Controller는 Model과 View의 상호 작용을 중재해 주는 역할을 했다. 모델의 데이터를 View에 불러오는 것과 View에서 발생한 다양한 종류의 이벤트를 해석해서 모델을 조작하는 것 모두 상호 작용의 예이다. ViewController UIKit에서는 ViewController가 핵심적인 역할을 한다. MVC에서 Controller 역할을 하면서도 View를 핸들링하는데 초점을 두고 있기 때문이다. Controller와 View 역할이 결합되었기 때문에 코드 관리에 신경을 써줘야 한다. 이번의 경우 ViewCont..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 3부 - 책임의 밀당

Overview UIKit 애플리케이션의 기본 개발 패턴은 Cocoa MVC였다. 대표적으로 View Controller와 같이 책임이 결합된 경우를 생각해 볼 수 있다. 이때, 개발자가 코드를 잘 못 디자인하면 한 객체의 책임이 커져버리는 문제가 생긴다. 코드를 리팩터링 하기 위해 역할과 책임을 다시 나눠본다. Problem objc.io 사이트의 Ash Furrow 님이 작성하신 Introduction to MVVM 자료를 인용하였다. Cocoa MVC에서 활용되는 결합된 역할의 대표 사례인 View controller는 UIKit 어플리케이션에서 주요하게 사용되는 클래스이다. Cocoa MVC를 UIKit 애플리케이션의 실제 클래스 다이어그램 구조로 표현하면 다음과 같다. ViewController..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 2부 - MVC 디자인 패러다임

Overview 어떤 클래스나 구조체를 생성할지 어떻게 결정하는가? 어떤 속성들을 가져야 하는가? 어느 객체가 다른 객체들의 함수를 호출해야 하는가? 소프트웨어 개발자들은 수십 년간 이 질문에 답할 수 있는 패러다임을 고민해 왔다. MVC MVC는 오브젝트에 Model View Controller로 책임을 분류하여 할당하고 오브젝트 간의 소통 방식을 정의하는데 도움을 준다. 다음의 그림은 3가지 타입의 오브젝트가 서로 어떤 관계를 맺어서 동작하는지에 관한 Apple 방식의 조감도를 보여준다. 구체적인 소통 메커니즘을 이해하기 위해 개별 타입들이 어떤 책임을 갖고 있는지 살펴본다. Models Model Objects Encapsulate Data and Basic Behaviors 모델은 아이템이나 개념..

반응형