13
Arif Akbarul Huda Coding | Writing | Sharing 2013-now QISCUS & Univ. Amikom Yogykarta Twitter : @omayib Medium : www.medium.com/@omayib The P.O.P implementation Modular is Better

Protocol oriented programming

Embed Size (px)

Citation preview

Page 1: Protocol oriented programming

Arif Akbarul HudaCoding | Writing | Sharing

2013-now QISCUS & Univ. Amikom Yogykarta

Twitter : @omayibMedium : www.medium.com/@omayib

The P.O.P implementation

Modular is Better

Page 2: Protocol oriented programming

Functionality

Reliability

Usability Efficiency

Maintainability

0

5

10

The High Quality Software Criteria(ISO 9126-1 software quality model)

*i was ignore the Portability factor

Page 3: Protocol oriented programming

Maintainability

“Maintainability is impacted by code readability or complexity as well as

modularization” ..

“Also the ability to verify (or test) a system, i.e. testability, is one of the

subcharacteristics of maintainability. “

Page 4: Protocol oriented programming

5 Principlesto meet maintainability criteria

Page 5: Protocol oriented programming

Loose coupled is better

Page 6: Protocol oriented programming

The Reality

Page 7: Protocol oriented programming

With a simple case

Page 8: Protocol oriented programming

Reality

Inside a UIViewController …

● Managing data from local remote● Managing data from local cache● Managing TableView and its DataSource● Managing UIViewController‘s state● Managing progressViewHUD‘s state● Managing other...

Page 9: Protocol oriented programming

Reality you are breakfest with a spagetthi code

Page 10: Protocol oriented programming

View

Controller

Model

XxProgressHUD.show()

XxProgressHUD.hide()XxProgressHUD.show()

Decentralized : A Bad Practice

Page 11: Protocol oriented programming
Page 12: Protocol oriented programming
Page 13: Protocol oriented programming

https://github.com/omayib/ModularIsBetter