Swift) Strategy Pattern이란?

Strategy Pattern

  • 클래스의 행위를 캡슐화 하여 동적으로 행위를 자유롭게 바꿀 수 있도록 돕는 패턴이다.
자세히 보기

Swift) Singleton Pattern에 대해 설명하시오.

Singleton Pattern

  • 특정 용도로 객체를 하나만 생성하여, 공용으로 사용하고 싶을 때 사용하는 디자인 유형
1
2
3
4
5
6
// User의 정보를 저장하는 클래스
class UserInfo {
var id: String?
var password: String?
var name: String?
}
자세히 보기

Architecture) MVVM 패턴이란?

MVVM 패턴이란?

  • Model, View, ViewMode

View는 오직 시각적인 요소(레이아웃, 애니매이션 그리고 UI 요소들에 대한 초기화 작업 코드들)로만 이루어져야 하고, View Controller가 View가 된다.
ViewModel은 View의 각 UI 요소들에 대한 인터페이스를 제공하며, 중간 역할을 한다.

자세히 보기

Architecture) MVP 패턴이란?

MVP 패턴이란?

  • Model(모델), View(UIView/UIViewController), Presenter

Model은 MVC 패턴에서 의미하는 모델과 같은 역할을 한다. 즉, 앱의 실행에 필요한 실질적인 데이터를 갖고 있다.
ViewUIView와 UIViewController가 여기에 해당하며, 비즈니스 로직과 관련된 일은 모두 Presenter가 하도록 한다.
Presenter는 UIKit과 관련이 없는 로직들을 수행하며, 사용자 응답에 반응하거나 UI를 업데이트하는 일을 한다.(비즈니스 로직 관련된 일 수행)

자세히 보기

Architecture) MVC 구조에 대해 블록 그림을 그리고, 각 역할과 흐름을 설명하시오.

MVC 패턴이란?

  • Model(모델), View(뷰), Controller(컨트롤러)

Traditional MVC

Traditional MVC

  • 다이어그램을 보면 Model, View 그리고 Controller, 이 세 요소가 서로 강하게 연결되어 있음을 알 수 있다.
  • Model에서는 애플리케이션에서 사용할 데이터들을 관리하고, View유저 인터페이스를 표현 및 관리한다.
  • Controller는 View와 Model의 다리 역할을 해 View의 입력을 Model이 반영하고, Model의 변화를 View에 갱신하는 역할을 한다.
  • 강하게 연결된 셋은 독립성이 낮기 때문에 이들 각각의 재사용성은 굉장히 떨어지며, 그렇기 때문에 현재 iOS 개발에는 전통적인 MVC 아키텍쳐는 맞지 않다고 볼 수 있다.
자세히 보기