@daloog
#iosdevuk
How to MVVM
1. Extract ViewModel from ViewController
2. ???
3. Good design
https://sharpfivesoftware.com/2016/07/20/mvvm-is-lipstick-on-a-pig/
Slide 7
Slide 7 text
@daloog
#iosdevuk
Slide 8
Slide 8 text
@daloog
#iosdevuk
View Models
Slide 9
Slide 9 text
@daloog
#iosdevuk
“Design is never done.”
Slide 10
Slide 10 text
@daloog
#iosdevuk
Slide 11
Slide 11 text
@daloog
#iosdevuk
Art
Slide 12
Slide 12 text
@daloog
#iosdevuk
Art
Engineering
Slide 13
Slide 13 text
@daloog
#iosdevuk
Slide 14
Slide 14 text
@daloog
#iosdevuk
Feedback loop
Slide 15
Slide 15 text
@daloog
#iosdevuk
Definition of
done
Slide 16
Slide 16 text
@daloog
#iosdevuk
Better tools
Slide 17
Slide 17 text
@daloog
#iosdevuk
Better result
Slide 18
Slide 18 text
@daloog
#iosdevuk
Art
Engineering
UI - ?
Slide 19
Slide 19 text
@daloog
#iosdevuk
Art
Engineering
UI
Slide 20
Slide 20 text
@daloog
#iosdevuk
UI is the hardest CS
problem
Slide 21
Slide 21 text
@daloog
#iosdevuk
Slide 22
Slide 22 text
@daloog
#iosdevuk
Slide 23
Slide 23 text
@daloog
#iosdevuk
Slide 24
Slide 24 text
@daloog
#iosdevuk
Slide 25
Slide 25 text
@daloog
#iosdevuk
Slide 26
Slide 26 text
@daloog
#iosdevuk
Slide 27
Slide 27 text
@daloog
#iosdevuk
Zero* dependency**
rule***
* - not actually zero
** - internal is ok *** - not a rule at all
Slide 28
Slide 28 text
@daloog
#iosdevuk
TDD?
Slide 29
Slide 29 text
@daloog
#iosdevuk
Slide 30
Slide 30 text
@daloog
#iosdevuk
Singletons
Slide 31
Slide 31 text
@daloog
#iosdevuk
Dependency net
ViewController
Network
Database
DataModel
Application
Slide 32
Slide 32 text
@daloog
#iosdevuk
Dependency tree
ViewController
Network
Database
DataModel
Application
View
Slide 33
Slide 33 text
@daloog
#iosdevuk
Parent is always
responsible for child
dependencies
Slide 34
Slide 34 text
@daloog
#iosdevuk
Module
External
dependency
Slide 35
Slide 35 text
@daloog
#iosdevuk
Module
Internal
dependency
Slide 36
Slide 36 text
@daloog
#iosdevuk
Module context always
should be external