SlideShare a Scribd company logo
1 of 91
Let’Swift 2023
객체가 함수를 만났을때
- When Object met Function …
권문범 Brad
Let’Swift 2023
객체지향-함수형 아키텍처 만들기
권문범 Brad
Contents
1. 객체지향이란?
2. 함수형이란?
3. 객체지향 + 함수형
4. 직접 만들어보기
5. 사용해보기
6. 마무리
객체지향이란?
PIE
• Polymorphism
• Inheritance
• Encapsulation
객체지향이란
PIE
• Polymorphism
• Overloading, Generic 등
• Type을 열어 코드의 재사용 증대
객체지향이란
PIE
• Inheritance
• Class : super class
• Struct : protocol - extension
• 코드 재사용 및 구조화
객체지향이란
PIE
• Encapsulation
• private,
fi
leprivate
• public, open
• 데이터 / 알고리즘 은닉
• 가독성 및 side-e
ff
ect 감소
객체지향이란
효과
재사용 / 구조화 / 가독성 등
결과물
디자인 패턴 / 시스템 아키텍처 등
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
Class A Class B
Class C
• Singleton
• FileManager, URLSession 등
• Decorator
• UIScrollView - UITableView,
UICollectionView
• Composite
• UIView - addSubview
• Chain of Responsibility
• UIResponder - responder chain :
next,
fi
rstResponder
• Template Method
• UITableViewDataSource -
UITableViewDelegate
• UICollectionViewDelegateFlowLa
yout
이미 전반에 설쳐서 사용 중
함수형이란?
Function
• Pure function
• High-order function
• Functor / Monad
함수형이란
Function
• Pure function
• Same input - Same output
• 외부의 영향 X
• 파라미터에 따라서 항상 같은 결과
함수형이란
Function
• High-order function
• 함수를 파라미터 혹은 결과로 사용
• map,
fl
atMap, compactMap 등
함수형이란
Function
• Functor / Monad
• (Context + Value)
+ map /
fl
atMap
• Result, Optional 등
함수형이란
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
객체지향 + 함수형
객체지향
Class A Class B
Class C
함수형
객체지향 함수형
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
객체지향 함수형
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
UI
Data
File / Network
객체지향 함수형
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
UI
Data
File / Network
Result / Optional
Combine
Functions
직접 만들어보기
MVVM 기반 아키텍처
결과에 따른 유연한 처리 지원
Flow 가시성
비동기 처리 지원
Apple first party API 활용
MVVM
객체지향
Make your own architecture
직접 만들어보기
ViewModel
ViewController
View
Data / Network
Make your own architecture
직접 만들어보기
ViewModel
ViewController
Data / Network
View / Interactor
UI 표시 및 상호 작용
Make your own architecture
직접 만들어보기
ViewModel
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
POP
Protocol Oriented Programming
POP
Protocol Oriented Programming
객체 간의 인터페이스 선언
데이터 타입의 추상화
Class A Class B
Class C
Protocol A Protocol B
Protocol C
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
ViewControllerCon
fi
gurable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
ViewControllerCon
fi
gurable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
ViewInteractorCon
fi
gurable
ViewControllerCon
fi
gurable /
ViewContorllerInteractable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
InteractionMessage
Action /
Any Subject
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
결과에 따른 유연성
함수형
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
Make your own architecture
직접 만들어보기
결과에 따른 유연성
함수형
결과에 따른 유연성
+ Flow 가시성
함수형
결과에 따른 유연성
+ Flow 가시성
+ 비동기 처리
함수형
ViewControllerCon
fi
gurable /
ViewContorllerInteractable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
ViewInteractorCon
fi
gurable
InteractionMessage
Action /
Any Subject
ViewControllerCon
fi
gurable /
ViewContorllerInteractable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
ViewInteractorCon
fi
gurable
InteractionMessage
Action /
Any Subject
Async Task
사용해보기
마무리
ViewModel
Data
fl
ow 가시화 및 관리
ViewController
View bind 및 lifecycle
View / Interactor
UI 표시 및 상호 작용
Data / Network
비동기적인 데이터 처리
ViewControllerCon
fi
gurable /
ViewContorllerInteractable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
ViewInteractorCon
fi
gurable
InteractionMessage
Action /
Any Subject
Async Task
ViewControllerCon
fi
gurable /
ViewContorllerInteractable
ViewModelCon
fi
gurable
InputMessage
OutputMessage
OutputSubject
Data / Network
ViewInteractorCon
fi
gurable
InteractionMessage
Action /
Any Subject
Async Task
변경을 최소화하여 선언적으로 구현
실행 예측이 쉽도록 지원
객체지향 함수형
변경되는 단위를 캡슐화하여
내부 동작을 몰라도 설계가 쉽도록 지원
UI
Data
File / Network
Result / Optional
Combine
Functions
• Object Oriented Programming
• Design pattern
• Protocol Oriented Programming
• Pure function
• High-order function - First class
function
• Functor / Monad
• Result / Optional - Either
• Combine
• Async task - GCD / Actor
• Object Oriented Programming
• Design pattern
• Protocol Oriented Programming
• Pure function
• High-order function - First class
function
• Functor / Monad
• Result / Optional - Either
• Combine
• Async task - GCD / Actor
• Object Oriented Programming
• Design pattern
• Protocol Oriented Programming
• Pure function
• High-order function - First class
function
• Functor / Monad
• Result / Optional - Either
• Combine
• Async task - GCD / Actor
• Object Oriented Programming
• Design pattern
• Protocol Oriented Programming
• Pure function
• High-order function - First class
function
• Functor / Monad
• Result / Optional - Either
• Combine
• Async task - GCD / Actor
• Object Oriented Programming
• Design pattern
• Protocol Oriented Programming
• Pure function
• High-order function - First class
function
• Functor / Monad
• Result / Optional - Either
• Combine
• Async task - GCD / Actor
MBA kit
https://github.com/MBKwon/MBA-kit
MBA kit - Demo
https://github.com/MBKwon/MBA-Demo
Thank you

More Related Content

What's hot

게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴예림 임
 
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdfInjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf정민 안
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직Hoyoung Choi
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현YEONG-CHEON YOU
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략YEONG-CHEON YOU
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdfssuserb942d2
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?Miles Chou
 
fastlane을 이용하여 iOS/Mac 앱 관리하기
fastlane을 이용하여 iOS/Mac 앱 관리하기fastlane을 이용하여 iOS/Mac 앱 관리하기
fastlane을 이용하여 iOS/Mac 앱 관리하기정민 안
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Bansook Nam
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기Jongwon Kim
 
[NDC16] Effective Git
[NDC16] Effective Git[NDC16] Effective Git
[NDC16] Effective GitChanwoong Kim
 
Chicago alm user group tfs version control poster - tfvc and git
Chicago alm user group   tfs version control poster - tfvc and gitChicago alm user group   tfs version control poster - tfvc and git
Chicago alm user group tfs version control poster - tfvc and gitDave Burnison
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편Seongyun Byeon
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0Sangcheol Hwang
 

What's hot (20)

RxSwift to Combine
RxSwift to CombineRxSwift to Combine
RxSwift to Combine
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
 
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdfInjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf
InjectionIII의 Hot Reload를 이용하여 앱 개발을 좀 더 편하게 하기.pdf
 
200531 jandi
200531 jandi200531 jandi
200531 jandi
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
 
fastlane을 이용하여 iOS/Mac 앱 관리하기
fastlane을 이용하여 iOS/Mac 앱 관리하기fastlane을 이용하여 iOS/Mac 앱 관리하기
fastlane을 이용하여 iOS/Mac 앱 관리하기
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지
 
Git flow
Git flowGit flow
Git flow
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
[NDC16] Effective Git
[NDC16] Effective Git[NDC16] Effective Git
[NDC16] Effective Git
 
Chicago alm user group tfs version control poster - tfvc and git
Chicago alm user group   tfs version control poster - tfvc and gitChicago alm user group   tfs version control poster - tfvc and git
Chicago alm user group tfs version control poster - tfvc and git
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0
 

Similar to [LetSwift 2023] 객체지향-함수형 아키텍처 직접 만들기

[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기YoungSu Son
 
HOONS닷넷 오픈소스 프로젝트 Part1.
HOONS닷넷 오픈소스 프로젝트 Part1.HOONS닷넷 오픈소스 프로젝트 Part1.
HOONS닷넷 오픈소스 프로젝트 Part1.Hojin Jun
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13hungrok
 
Planning poker with jetpack
Planning poker with jetpackPlanning poker with jetpack
Planning poker with jetpackSooHwan Ok
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Hyosang Hong
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Hyosang Hong
 
MVVM Pattern for Android
MVVM Pattern for AndroidMVVM Pattern for Android
MVVM Pattern for Androidtaeinkim6
 
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기Lake Kim
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)Hankyo
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료ssuser776e2d
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피ssuser776e2d
 
아이폰 앱 패턴
아이폰 앱 패턴아이폰 앱 패턴
아이폰 앱 패턴조 용구
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)DK Lee
 
Data-binding AngularJS
Data-binding AngularJSData-binding AngularJS
Data-binding AngularJSEunYoung Kim
 
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...Taekyu Lim
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현kdh24
 
Citrine소개서
Citrine소개서Citrine소개서
Citrine소개서logeo
 
Rx for iOS App. RxMVVM-DataCenter!
Rx for iOS App. RxMVVM-DataCenter!Rx for iOS App. RxMVVM-DataCenter!
Rx for iOS App. RxMVVM-DataCenter!SUNGCHEOL KIM
 

Similar to [LetSwift 2023] 객체지향-함수형 아키텍처 직접 만들기 (20)

[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기
 
HOONS닷넷 오픈소스 프로젝트 Part1.
HOONS닷넷 오픈소스 프로젝트 Part1.HOONS닷넷 오픈소스 프로젝트 Part1.
HOONS닷넷 오픈소스 프로젝트 Part1.
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
Planning poker with jetpack
Planning poker with jetpackPlanning poker with jetpack
Planning poker with jetpack
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
MVVM Pattern for Android
MVVM Pattern for AndroidMVVM Pattern for Android
MVVM Pattern for Android
 
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
 
React js 1
React js   1React js   1
React js 1
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)
 
2.Spring IoC & DI (ioc container)
2.Spring IoC & DI (ioc container)2.Spring IoC & DI (ioc container)
2.Spring IoC & DI (ioc container)
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피
 
아이폰 앱 패턴
아이폰 앱 패턴아이폰 앱 패턴
아이폰 앱 패턴
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)
 
Data-binding AngularJS
Data-binding AngularJSData-binding AngularJS
Data-binding AngularJS
 
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...
[2022]Flutter_IO_Extended_Korea_멀티모듈을활용한플러터클린아키텍처_...
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
 
Citrine소개서
Citrine소개서Citrine소개서
Citrine소개서
 
Rx for iOS App. RxMVVM-DataCenter!
Rx for iOS App. RxMVVM-DataCenter!Rx for iOS App. RxMVVM-DataCenter!
Rx for iOS App. RxMVVM-DataCenter!
 

[LetSwift 2023] 객체지향-함수형 아키텍처 직접 만들기