eung7.archive
close
프로필 사진

eung7.archive

github: @eung7

  • 분류 전체보기 (30)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (22)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (9)
      • XCode (6)
    • Flutter (1)
      • Dart (1)
      • Flutter 기본 (0)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
  • 홈
  • GitHub
Environment Value를 통해 의존성 주입하기

Environment Value를 통해 의존성 주입하기

의존성 주입이란?의존성 주입은 클래스 간의 결합도를 낮추고 코드 유연성을 높이는 중요한 개념클래스 간의 의존성이 있다는 것은 한 클래스가 다른 클래스에 영향을 미친다는 것을 의미예를 들어, 한 클래스가 변경될 때 다른 클래스도 영향을 받는 상황입니다. 프로토콜 의존성 주입프로토콜 의존성 주입은 클래스 간의 결합도를 낮추기 위해 프로토콜을 사용하는 방법이를 통해 코드 유연성을 높임프로토콜을 정의하여 클래스가 특정 기능을 구현하도록 강제하고, 이를 의존성 주입을 통해 클래스에 주입유연성 증대: 프로토콜을 통해 클래스의 인터페이스를 추상화하면, 해당 클래스를 변경할 때 다른 클래스에 영향을 덜 줌. 즉, 코드 변경 시 다른 클래스에 영향을 최소화테스트 용이성: 프로토콜을 사용하여 클..

  • format_list_bulleted iOS/iOS 응용
  • · 2024. 3. 30.
MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

iOS 어플리케이션을 개발할 때, 아직까지 가장 많이 선호되는 디자인 패턴은 MVVM이라고 할 수 있습니다. 이번에는 MVVM과 Coordinator를 혼합한 디자인 패턴을 사용하고 구체적인 예시를 보여주는 포스트를 작성하려고 합니다. MVVM MVVM은 Model - View - ViewModel의 약어입니다. 아래 이미지에서 보이는 것과 같이 ViewModel은 View와 Model을 이어주는 인터페이스 역할을 하고 있습니다. iOS에서는 통상적으로 View를 ViewController라고 이해해도 좋습니다. 주로 사용자의 이벤트를 감지하고 그에 맞는 비즈니스 로직을 수행하여 View에게 업데이트를 요청합니다. 일반적인 ViewModel과 ViewController간의 소통은 Delegates, Ca..

  • format_list_bulleted iOS/iOS 응용
  • · 2024. 3. 30.
Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern을 한 마디로 정의하면 화면 전환에 대한 코드를 다른 객체에 위임하여 별도로 관리할 수 있도록 하는 디자인 패턴입니다. 그렇다면 이것을 “왜” 사용하는 걸까요? 우리의 ViewController는 할 일이 매우 많습니다. 복잡한 UI를 구성하는 UI일수록 더욱 그렇습니다. 이외에도 데이터와 UI 바인딩, 라이프 사이클 관리, 또 MVC 패턴을 사용한다면 그 크기가 더욱 방대해질 것입니다. 이렇게 하나의 ViewController에서 많은 역할을 수행하면 정작 해야할 UI 관리에 집중을 하지 않게 될 수 있습니다. Coordinator Pattern의 장점 그래서 등장한 것이 Coordinator Pattern디자인 패턴입니다. 우리는 ViewController에서 화면 ..

  • format_list_bulleted iOS/iOS 응용
  • · 2024. 3. 30.
  • navigate_before
  • 1
  • 2
  • navigate_next
전체 카테고리
  • 분류 전체보기 (30)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (22)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (9)
      • XCode (6)
    • Flutter (1)
      • Dart (1)
      • Flutter 기본 (0)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
Copyright © Eung7 모든 권리 보유.

티스토리툴바