SlideShare a Scribd company logo
1 of 26
Download to read offline
2 /1 551/, / 3
,./ , 8
2 A LI H H C B H EHH B JI EI H C B
0 L J
,BE B /
1
■ 2
■ .
– .
■ .
■ .
■ ..
■ .
– . &
–
■
■
■
■
3 3
WHY
8 8
■ ( ( 8
■
■ )
■
, , . . ,
, 9 9
■
■ 1
– 0
■ &
■
■
■
–
– & 1
■ 1
■ &
■ . 1
■
■ Model
– Fetch, Store, Update, …etc.
– Access Remote or Local data
■ View
– XML(Android)/Xib or StoryBoard(iOS)
■ Controller
– Activity/Fragment(Android) or UIViewController(iOS)
– UI reactions(listeners, properties, …etc.)
– Data Processing
■ 2
■ 1 2 2
–
■ &
■
■
■
–
– & 1 2 2
■ 1
■ &
■ . 1
■
■ Model
– Fetch, Store, Update, …etc.
– Access Remote or Local data
■ View
– Activity/Fragment(Android) or UIViewController(iOS)
– XML(Android)/Xib or StoryBoard(iOS)
■ Presenter
– Prepare the data for showing
– A mediator between the View and the Model
4
■
■ 1 4 4
–
■ &
■
■
■
–
– & 41 4 4
■ 4 1 4
■ &
■ . 1
■
■ Model
– Fetch, Store, Update, …etc.
– Access Remote or Local data
■ View
– Activity/Fragment(Android) or UIViewController(iOS)
– XML(Android)/Xib or StoryBoard(iOS)
■ ViewModel
– A mediator between the View and the Model
– Databinding to View components
6
■ 6
■ 1 6 6
–
■ &
■
■
■
–
– & 1 6
■ 6 1
■ &
■ . 1
■
■ View
– Activity/Fragment(Android) or UIViewController(iOS)
– XML(Android)/Xib or StoryBoard(iOS)
■ Interactor
– Business logic for accessing the data from Model
■ Presenter
– Bridge between Interactors and Views
– Prepare the data for showing
■ Entity
– Basic model objects
■ Router
– Navigation logic
■
■ 1
–
■ &
■
■
■
–
– & 1
■ 1
■ &
■ . 881
■
■ Presentation
– MVX, VIPER pattern
■ Domain
– Business logic
■ Data
– Repository Pattern
Streaming
Request
Interactor Interactor
Uncle Bob Clean Architecture
■ 2
■ 2 2
– 0
■ &
■
■
■
–
– & 2 2
■
■ &
■ .
■
■ Repository
– Local
■ Disk
■ File
■ Memory
■ Shared Preferences
– Cloud
■ Remote Server
■ Firebase
& &
2
Distribution Testability Easy of use
MVC
MVP
MVVM
VIPER
Clean
Architecture1. Distribution
2. Testability
3. Easy of Use
Developing cost Complexity Number of Class
5C
■ A 5 E5CE CA - - . - - . > 5 C E E C
■ - E B> E > 5 C E E C E A E A B> 5E
■ A 5>> 5C E 5 A BE A EA E A E BACE5 E
■ C I A , 2,, B A A C E EA AA 5 5C E E C
Application architecture pattern

More Related Content

Similar to Application architecture pattern

10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
Ronald Bradford
 
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
techtalkdwango
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
NAVER D2
 
SplunkLive! Salt Lake City June 2013 - Ancestry.com
SplunkLive! Salt Lake City June 2013 - Ancestry.comSplunkLive! Salt Lake City June 2013 - Ancestry.com
SplunkLive! Salt Lake City June 2013 - Ancestry.com
Splunk
 
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
Android2.x/3.x/4.x向けアプリ開発で気付いたことAndroid2.x/3.x/4.x向けアプリ開発で気付いたこと
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
Kenichi Kambara
 

Similar to Application architecture pattern (20)

10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
Mobile Security Assessment: 101
Mobile Security Assessment: 101Mobile Security Assessment: 101
Mobile Security Assessment: 101
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and Security
 
ADRecon - Detection CHCON 2018
ADRecon - Detection CHCON 2018ADRecon - Detection CHCON 2018
ADRecon - Detection CHCON 2018
 
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
 
Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case Study
 
Cheap tricks for startups
Cheap tricks for startupsCheap tricks for startups
Cheap tricks for startups
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
 
E-GEN iCAN
E-GEN iCANE-GEN iCAN
E-GEN iCAN
 
2 Security Architecture+Design
2 Security Architecture+Design2 Security Architecture+Design
2 Security Architecture+Design
 
SplunkLive! Salt Lake City June 2013 - Ancestry.com
SplunkLive! Salt Lake City June 2013 - Ancestry.comSplunkLive! Salt Lake City June 2013 - Ancestry.com
SplunkLive! Salt Lake City June 2013 - Ancestry.com
 
Stay clear of the bugs: Troubleshooting Applications in Microsoft Azure
Stay clear of the bugs: Troubleshooting Applications in Microsoft AzureStay clear of the bugs: Troubleshooting Applications in Microsoft Azure
Stay clear of the bugs: Troubleshooting Applications in Microsoft Azure
 
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
 
Schema registries and Snowplow
Schema registries and SnowplowSchema registries and Snowplow
Schema registries and Snowplow
 
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
Android2.x/3.x/4.x向けアプリ開発で気付いたことAndroid2.x/3.x/4.x向けアプリ開発で気付いたこと
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
 
Xavier Lacot: Abstracting Databases Access in Titanium Mobile
Xavier Lacot: Abstracting Databases Access in Titanium MobileXavier Lacot: Abstracting Databases Access in Titanium Mobile
Xavier Lacot: Abstracting Databases Access in Titanium Mobile
 
Scaling your Application for Growth using Automation (CPN209) | AWS re:Invent...
Scaling your Application for Growth using Automation (CPN209) | AWS re:Invent...Scaling your Application for Growth using Automation (CPN209) | AWS re:Invent...
Scaling your Application for Growth using Automation (CPN209) | AWS re:Invent...
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 

More from Jieyi Wu

More from Jieyi Wu (10)

Design pattern advanced ii with testing
Design pattern advanced ii with  testingDesign pattern advanced ii with  testing
Design pattern advanced ii with testing
 
Design pattern advanced i
Design pattern advanced iDesign pattern advanced i
Design pattern advanced i
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Reactive X introduction part1
Reactive X introduction part1Reactive X introduction part1
Reactive X introduction part1
 
Karitoke's supported technology
Karitoke's supported technologyKaritoke's supported technology
Karitoke's supported technology
 
Design pattern - part 3
Design pattern - part 3Design pattern - part 3
Design pattern - part 3
 
Design pattern part 2 - structural pattern
Design pattern part 2 - structural patternDesign pattern part 2 - structural pattern
Design pattern part 2 - structural pattern
 
Design pattern - part 1
Design pattern - part 1Design pattern - part 1
Design pattern - part 1
 
Nice to meet Kotlin
Nice to meet KotlinNice to meet Kotlin
Nice to meet Kotlin
 
Object-oriented programming
Object-oriented programmingObject-oriented programming
Object-oriented programming
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

Application architecture pattern

  • 1. 2 /1 551/, / 3 ,./ , 8 2 A LI H H C B H EHH B JI EI H C B 0 L J ,BE B / 1
  • 2. ■ 2 ■ . – . ■ . ■ . ■ .. ■ . – . & – ■ ■ ■ ■
  • 3. 3 3
  • 4. WHY
  • 5.
  • 6.
  • 7.
  • 8. 8 8 ■ ( ( 8 ■ ■ ) ■
  • 9. , , . . , , 9 9
  • 10. ■ ■ 1 – 0 ■ & ■ ■ ■ – – & 1 ■ 1 ■ & ■ . 1 ■
  • 11. ■ Model – Fetch, Store, Update, …etc. – Access Remote or Local data ■ View – XML(Android)/Xib or StoryBoard(iOS) ■ Controller – Activity/Fragment(Android) or UIViewController(iOS) – UI reactions(listeners, properties, …etc.) – Data Processing
  • 12. ■ 2 ■ 1 2 2 – ■ & ■ ■ ■ – – & 1 2 2 ■ 1 ■ & ■ . 1 ■
  • 13. ■ Model – Fetch, Store, Update, …etc. – Access Remote or Local data ■ View – Activity/Fragment(Android) or UIViewController(iOS) – XML(Android)/Xib or StoryBoard(iOS) ■ Presenter – Prepare the data for showing – A mediator between the View and the Model
  • 14. 4 ■ ■ 1 4 4 – ■ & ■ ■ ■ – – & 41 4 4 ■ 4 1 4 ■ & ■ . 1 ■
  • 15. ■ Model – Fetch, Store, Update, …etc. – Access Remote or Local data ■ View – Activity/Fragment(Android) or UIViewController(iOS) – XML(Android)/Xib or StoryBoard(iOS) ■ ViewModel – A mediator between the View and the Model – Databinding to View components
  • 16. 6 ■ 6 ■ 1 6 6 – ■ & ■ ■ ■ – – & 1 6 ■ 6 1 ■ & ■ . 1 ■
  • 17. ■ View – Activity/Fragment(Android) or UIViewController(iOS) – XML(Android)/Xib or StoryBoard(iOS) ■ Interactor – Business logic for accessing the data from Model ■ Presenter – Bridge between Interactors and Views – Prepare the data for showing ■ Entity – Basic model objects ■ Router – Navigation logic
  • 18. ■ ■ 1 – ■ & ■ ■ ■ – – & 1 ■ 1 ■ & ■ . 881 ■
  • 19. ■ Presentation – MVX, VIPER pattern ■ Domain – Business logic ■ Data – Repository Pattern Streaming Request Interactor Interactor Uncle Bob Clean Architecture
  • 20. ■ 2 ■ 2 2 – 0 ■ & ■ ■ ■ – – & 2 2 ■ ■ & ■ . ■
  • 21. ■ Repository – Local ■ Disk ■ File ■ Memory ■ Shared Preferences – Cloud ■ Remote Server ■ Firebase
  • 22. & &
  • 23. 2 Distribution Testability Easy of use MVC MVP MVVM VIPER Clean Architecture1. Distribution 2. Testability 3. Easy of Use Developing cost Complexity Number of Class
  • 24.
  • 25. 5C ■ A 5 E5CE CA - - . - - . > 5 C E E C ■ - E B> E > 5 C E E C E A E A B> 5E ■ A 5>> 5C E 5 A BE A EA E A E BACE5 E ■ C I A , 2,, B A A C E EA AA 5 5C E E C