강의

멘토링

로드맵

Programming

/

Mobile Application Development

Architecture Patterns with iOS - GUI Architecture Patterns (Theory)

Learn architectural patterns based on books and papers, not subjective feelings. Explains MVC, MVP, and MVVM in the UIKit environment of iOS.

(4.9) 23 reviews

164 learners

ios
아키텍처
architecture
gui
Architecture
MVC
MVVM
mvp
iOS

Reviews from Early Learners

What you will learn!

  • History and characteristics of GUI architecture patterns

  • GUI Architecture Patterns in iOS Environment

A must-have if you dream of becoming an iOS developer!
GUI Architecture Patterns ✨

Fully Mastered GUI Architecture Patterns! 📖

When looking at job postings for iOS developers, there's always a requirement: " understanding and experience with various architectural patterns ." However, I can't find any books or articles that provide detailed explanations of architectural patterns in Korean. I faced similar challenges, and only after reading books and papers in English and Japanese was I able to grasp the general outline.

This lecture covers the history and key concepts of architectural patterns , focusing on GUI architectures like MVC, MVP, and MVVM . Architectural patterns are a topic that experiences frequent changes in trends, and there's a risk of not being able to keep up. The only way to alleviate this anxiety is to build a solid foundation. I hope my lecture will serve as a cornerstone for that.

iOS uses a considerably wider variety of architectural patterns than other development environments. However, the keywords that underpin these various architectural patterns are simpler than you might think, and most are merely minor variations on existing architectures. The more confused you become about which pattern to choose, the more I recommend focusing on the essentials and learning without being swayed by trends.

📢 Please check before taking the class!

  • This course does not cover the fundamentals of UIKit. It only covers architectural patterns and specific architectural patterns specific to UIKit.
  • We do not permit the lecture content to be organized and leaked externally, such as to a blog.

I recommend this to these people 🙋

Architecture pattern
Those who want to learn

iOS developer job search
Job seekers preparing

This is my first iOS project
Experienced Developer

iOS project experience
But there are architectural patterns
People with limited knowledge


Lecture Features ✨

#1.
Several books and
Together with the thesis

Certain architectural patterns cannot be understood abstractly, stripped of the development environment in which they originated. This lecture examines various books and papers to identify the problems each architectural pattern attempted to solve and discusses its applicability to iOS.

#2.
Macroscopic
Visually

This course is far from the mainstream. It dismisses MVC as a "massive controller" and rejects the view that other architectures are superior to MVC. If you want to use architectural patterns "to convey the impression that you're saying something important," as Martin Fowler puts it, then this course isn't for you.

#3.
uncommon
Korean language classes

There are no books or articles in Korean that provide a detailed explanation of architectural patterns. Conference presentations, too, are often limited in quality due to time constraints and the nature of community activities. Based on my own personal experiences, I've designed this lecture to help you learn the history and key concepts of GUI architectural patterns.


Learn things like this 📚

Section 1 - Architectural Patterns

You will learn various necessary concepts while defining what architecture and patterns are and what architectural patterns are.

Main topics

  • Separation of interests
  • architecture, patterns, architectural patterns
  • Presentation Domain Separation (PDS)
  • GUI architecture and system architecture

Section 2 - MVC

Learn MVC (Model-View-Controller), the forefather of GUI architecture.

Main topics

  • UI development environment of the 1970s
  • User's mental model
  • Various forms of MVC
  • Criticism of MVC

Section 3 - MVP

Learn MVP (Model-View-Presenter), a modified version of the existing MVC, to adapt to changing development environments.

Main topics

  • Changes in the development environment
  • Taligent
  • Flow Synchronization and Observer Synchronization
  • Supervising Controller
  • Passive View

Section 4 - MVVM

Learn about MVVM (Model-View-ViewModel), an architectural pattern that is often mentioned in iOS developer job postings.

Main topics

  • Presentation Model and MVVM in WPF
  • MVVM on iOS
  • Data Binding with RxCocoa
  • MVVM template



Changes in students after attending the lecture 📜

You will be able to understand the following:

  • Separation of Concerns
  • Presentation Domain Separation (PDS)
  • Smalltalk MVC
  • Input Controller
  • Application Controller
  • JSP Model 2
  • Cocoa MVC
  • Flux
  • Presentation Model (Application Model)
  • Taligent MVP
  • Supervising Controller
  • Passive View
  • MVVM in WPF
  • MVVM on iOS

Expected Questions Q&A 💬

Q. Do you also explain Swift and iOS basics?

I won't explain. Please take this course after learning the basics from other books or lectures.

Q. What architectural patterns does the instructor prefer?

I don't have a particular favorite architectural pattern. If there's one thing I find unique, it's that I don't hold MVC in bad stead, contrary to popular trends in the community. Rather, I'm critical of implementations like MVVM, which are trendy but deviate from the traditional context. Flux (Redux) offers no improvements over MVC, so I won't discuss it in detail (the lecture will explain why I believe it lacks improvements).

Q. Are there any materials that would be helpful if I study them first?

I think it will be easier to understand if you read Martin Fowler's "Patterns of Enterprise Application Architecture."


Recommended for
these people

Who is this course right for?

  • For those who do not know the exact concept of MVC, MVP, and MVVM

  • iOS Developer Job Seeker

  • Mobile Team Project Leader

Need to know before starting?

  • Open mind

  • Basic understanding of Swift and the UIKit environment in iOS

Hello
This is

프로그래머

문의: eonsu.work@gmail.com

Curriculum

All

35 lectures ∙ (2hr 14min)

Published: 
Last updated: 

Reviews

All

23 reviews

4.9

23 reviews

  • 닷넷나무님의 프로필 이미지
    닷넷나무

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    iOS Application Architect로 가기 위한 교양으로 꼭 봐야할 강의입니다. 용어 정리가 잘되어 있고, MVx의 발전이 어떻게 이뤄졌는지를 알 수 있습니다. 그리고 그 동안 몇몇 패턴들에 대한 잘못된 관점 또한 수정해주는 소중한 강의입니다. 아마 소개하지 못한 내용이 더 있을텐데 다음번 강의도 기대하겠습니다. 좋은 강의 만들어주셔서 감사합니다.

    • dev.ms님의 프로필 이미지
      dev.ms

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      저 같은 미들레벨 개발자가 아키텍처의 처음 시작부터 전체적인 그림을 그릴 수 있게 도와주는 강의입니다. 1970년대로 거슬러 올라가 아키텍처라는 개념을 만든 사람들의 논리를 소개하는 꼼꼼한 강의 구성에 놀랐습니다. 논문과 마틴 파울러의 주장을 기반으로 핵심 내용을 잘 정리해서 설명해주기 때문에 실무에서 개발을 몇년 하신 분들에게는 그동안의 경험을 정리하는 데 도움되는 강의입니다. 중급 레벨 이상으로 실력을 향상시키는데 도움되는 강의라고 생각하고, 강의 준비에 정말 많은 시간을 들이신 것이 느껴지는 강의입니다. 이런 강의를 만들어주신 강의자분에게 감사드립니다.

      • 진영님의 프로필 이미지
        진영

        Reviews 1

        Average Rating 5.0

        5

        91% enrolled

        아키텍처에 관해 "대답"이 아닌 "대화"를 할 수 있게 해주는 유일한 강의였습니다.

        • hando han님의 프로필 이미지
          hando han

          Reviews 1

          Average Rating 5.0

          5

          100% enrolled

          대부분의 내용은 iOS 에 한정되어 있지 않고, 웹, 안드로이드 등의 모든 일반적인 UI 개발 패턴을 이야기하고 있기 때문에 모든 분야의 개발자에 필요한 강의입니다. 패턴의 역사적인 발전 과정을 통해 설명하고 있어 이해하기 쉽습니다. 어느 하나가 절대적으로 맞다가 아닌 개발환경에 맞게 선택하는 실전 방법도 소개하고 있습니다. 주니어 개발자가 아니더라도 기존의 개념을 정확히 정립하는데 도움을 줄수 있는 강의입니다.

          • GDSC_hy님의 프로필 이미지
            GDSC_hy

            Reviews 1

            Average Rating 5.0

            5

            100% enrolled

            취업준비를 하면서 채용공고에 항상 아키텍처라는 단어가 나와서 궁금하던 내용이었는데 강의를 통해 많이 배웠습니다. 어떤 기술 블로그에도 명확한 설명이 없어서 막막하던 학생인데 많이 도움 받았습니다! 강의 끝날 때마다 보여주시는 참고 서적?논문? 목록을 보면 수십권에 해당하는 내용을 강의로 만드신 것 같은데요, 어려운 내용을 떠먹여주는 취준생 필수 강좌입니다!

            Access is restricted to non-public courses.
            Private Course

            Similar courses

            Explore other courses in the same field!