SlideShare a Scribd company logo
Object Oriented Programming
in Swift
Ch 0
Sai Li @ Yowoo Tech.
2016/11/18
References
References
• Agile Software Development: Principles, Patterns,
and Practice ( : )

by Robert C. Martin
References
• Agile Software Development: Principles, Patterns,
and Practice ( : )

by Robert C. Martin
• Fundamental Object Oriented Programming 

by Hsuan-Tien Lin
References
• Agile Software Development: Principles, Patterns,
and Practice ( : )

by Robert C. Martin
• Fundamental Object Oriented Programming 

by Hsuan-Tien Lin
• 

by Teddy Chen
References
• Agile Software Development: Principles, Patterns,
and Practice ( : )

by Robert C. Martin
• Fundamental Object Oriented Programming 

by Hsuan-Tien Lin
• 

by Teddy Chen
• Essential Object-Oriented Programming

by Josh Ko
Language
• Java
• Python
• Swift
How to build an
iPhone?
Object Oriented Programming in Swift Ch0 - Encapsulation
System -> Components
System -> Components
Divide and Conquer
System -> Components
Divide and Conquer
Modularization
Good Modules make good System
Good Modules make good System
• Easy to debug
Good Modules make good System
• Easy to debug
• Easy to maintain/ manage
Good Modules make good System
• Easy to debug
• Easy to maintain/ manage
• Easy to modify/ update
Good Modules make good System
• Easy to debug
• Easy to maintain/ manage
• Easy to modify/ update
• Easy to reuse
Good Modules make good System
• Easy to debug
• Easy to maintain/ manage
• Easy to modify/ update
• Easy to reuse
Good Modules make good System
• Easy to debug
• Easy to maintain/ manage
• Easy to modify/ update
• Easy to reuse
Modularization: Save time in the future
Save money, save time

No more disposable programs
Spaghetti Code
Spaghetti Code
Edible is enough
Spaghetti Code
Spaghetti Code
Noodle Oriented
Programming
Noodle -> Procedure
• More organized than spaghetti code
• Identify the purpose
• Isolate (modularize)
• Reuse
Noodle -> Procedure
• More organized than spaghetti code
• Identify the purpose
• Isolate (modularize)
• Reuse
C language
OOP
• Grouped related data
OOP
• Use Struct/ Class to generate objects
OOP
• Don’t do something on the object
• Let object takes actions
OOP
• Don’t do something on the object
• Let object takes actions
OOP
• Don’t do something on the object
• Let object takes actions
Noodles -> Procedure -> Object
• NOP: spaghetti code + (possibly spaghetti) data

Assembly
Noodles -> Procedure -> Object
• NOP: spaghetti code + (possibly spaghetti) data

Assembly
• POP: organized code + (possibly organized) data

C, PASCAL

basic modules: procedures
Noodles -> Procedure -> Object
• NOP: spaghetti code + (possibly spaghetti) data

Assembly
• POP: organized code + (possibly organized) data

C, PASCAL

basic modules: procedures
• OOP: organized code + organized data (grouped)

Swift, Java, Python

basic modules: Class / Struct
Noodles -> Procedure -> Object
OO Levels
OO Levels
• OO Analysis:

what the system does
OO Levels
• OO Analysis:

what the system does
• needs -> models
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
• model -> class diagrams
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
• model -> class diagrams
• Design Pattern
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
• model -> class diagrams
• Design Pattern
• OO Programming

how to implement it
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
• model -> class diagrams
• Design Pattern
• OO Programming

how to implement it
• class diagrams -> implementations
OO Levels
• OO Analysis:

what the system does
• needs -> models
• Software Engineering
• OO Design:

how the system dose it
• model -> class diagrams
• Design Pattern
• OO Programming

how to implement it
• class diagrams -> implementations
• OOP, this one
How to build an
iPhone?
Decomposition
Decomposition
System
Decomposition
System
object
objectobject
Decomposition
System
abstraction
object
objectobject
Decomposition
System
abstraction
object
objectobject
Decomposition
System
abstraction
object
Modeling
objectobject
Data Abstraction
Object
Data Abstraction
Object
method
Data Abstraction
Object
method
Data Abstraction
Object
method
Data Abstraction
Object
method
Interface
Data Abstraction
Object
method
Interface
Implementation
Data Abstraction
Abstraction is selective ignorance.
by Andrew Koenig
Data Abstraction
Abstraction is selective ignorance.
by Andrew Koenig
Others care about the interface and
ignore the implementation
Encapsulation
Access Control: public and private
Encapsulation
Access Control: public and private
Encapsulation
Access Control: public and private
Design by Contract
Design by Contract
• Class Invariant
Design by Contract
• Class Invariant
• Valid State
Design by Contract
• Class Invariant
• Valid State
Design by Contract
• Class Invariant
• Valid State
private(set)
private(set)
Design by Contract
• Class Invariant
• Valid State
• 1 <= day <= 31

0 <= hour <= 24
private(set)
private(set)
Design by Contract
• Preconditions, postconditions
Design by Contract
• Preconditions, postconditions
First class invariant ?
Design by Contract
• Preconditions, postconditions
First class invariant ?
Constructor
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
Encapsulation
• Separate implementation and use
Encapsulation
• Separate implementation and use
• Don’t trust other people including you(3 months after)
Encapsulation
• Separate implementation and use
• Don’t trust other people including you(3 months after)
• Hide unnecessary details
Encapsulation
• Separate implementation and use
• Don’t trust other people including you(3 months after)
• Hide unnecessary details
• One more oz
Encapsulation
• Separate implementation and use
• Don’t trust other people including you(3 months after)
• Hide unnecessary details
• One more oz
Encapsulation
• Separate implementation and use
• Don’t trust other people including you(3 months after)
• Hide unnecessary details
• One more oz
Think about incorrect use about your class
Encapsulation
As a designer,
you should avoid giving the users of your
code too much freedom to do bad and/or
make bugs
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
accessor (getter)
accessor (getter)
accessor (getter)
mutator (setter)
OOP
• Encapsulation: Security
• Inheritance: Reusability
• Polymorphism: Flexibility
Q & A

To be continued…
References
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
• Essential Object-Oriented Programming
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
• Essential Object-Oriented Programming
• images.techtimes.com/data/images/full/11234/tangled-earbuds.jpg
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
• Essential Object-Oriented Programming
• images.techtimes.com/data/images/full/11234/tangled-earbuds.jpg
• spaghetticrunch.com/wp-content/uploads/2014/12/spaghetti-
bolognaise-1.png
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
• Essential Object-Oriented Programming
• images.techtimes.com/data/images/full/11234/tangled-earbuds.jpg
• spaghetticrunch.com/wp-content/uploads/2014/12/spaghetti-
bolognaise-1.png
• upload.wikimedia.org/wikipedia/commons/thumb/e/ea/
Design_by_contract.svg/220px-Design_by_contract.svg.png
References
• Agile Software Development: Principles, Patterns, and Practice (
: )
• Fundamental Object Oriented Programming
•
• Essential Object-Oriented Programming
• images.techtimes.com/data/images/full/11234/tangled-earbuds.jpg
• spaghetticrunch.com/wp-content/uploads/2014/12/spaghetti-
bolognaise-1.png
• upload.wikimedia.org/wikipedia/commons/thumb/e/ea/
Design_by_contract.svg/220px-Design_by_contract.svg.png
• www.linuxdigest.org/wp-content/uploads/2012/06/09fig091.gif
Ad

Recommended

CO620
CO620
Edmond Lepedus
 
ORMs Meet SQL
ORMs Meet SQL
Ricardo Peres
 
Object Oriented Programming in Swift Ch1 - Inheritance
Object Oriented Programming in Swift Ch1 - Inheritance
Chihyang Li
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
Intro C# Book
 
Swift as an OOP Language
Swift as an OOP Language
Ahmed Ali
 
Session 1. iOS developers enthusiasts session
Session 1. iOS developers enthusiasts session
GAME Studios
 
An introduction to functional programming with Swift
An introduction to functional programming with Swift
Fatih Nayebi, Ph.D.
 
Agile Development: Scrum introduction
Agile Development: Scrum introduction
Chihyang Li
 
_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
balonibasket
 
Design Engineering 1A Report Template
Design Engineering 1A Report Template
Bhasker Vijaykumar Bhatt
 
mathematics and intelligence
mathematics and intelligence
Abuta Ogeto
 
Taller Swift - iCon
Taller Swift - iCon
iCon
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
WooKyoung Noh
 
Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLP
Stephen Gilmore
 
Testing Android apps with Robotium
Testing Android apps with Robotium
Stephen Gilmore
 
Swift Tutorial 2
Swift Tutorial 2
Jintin Lin
 
Swift Tutorial 1
Swift Tutorial 1
Jintin Lin
 
Common Java problems when developing with Android
Common Java problems when developing with Android
Stephen Gilmore
 
Getting started with Xcode
Getting started with Xcode
Stephen Gilmore
 
Crash Course in Objective-C
Crash Course in Objective-C
Stephen Gilmore
 
Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large Practical
Stephen Gilmore
 
METODE PELAKSANAAN DAN EVALUASI JALAN
METODE PELAKSANAAN DAN EVALUASI JALAN
Chay Chay
 
Programming in Objective-C
Programming in Objective-C
Ryan Chung
 
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
彼得潘 Pan
 
Design p atterns
Design p atterns
Amr Abd El Latief
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project Bonsai
Ivo Andreev
 
Staging and Deployment
Staging and Deployment
heyrocker
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Uma Ghotikar
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
Tim Duckett
 

More Related Content

Viewers also liked (16)

_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
balonibasket
 
Design Engineering 1A Report Template
Design Engineering 1A Report Template
Bhasker Vijaykumar Bhatt
 
mathematics and intelligence
mathematics and intelligence
Abuta Ogeto
 
Taller Swift - iCon
Taller Swift - iCon
iCon
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
WooKyoung Noh
 
Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLP
Stephen Gilmore
 
Testing Android apps with Robotium
Testing Android apps with Robotium
Stephen Gilmore
 
Swift Tutorial 2
Swift Tutorial 2
Jintin Lin
 
Swift Tutorial 1
Swift Tutorial 1
Jintin Lin
 
Common Java problems when developing with Android
Common Java problems when developing with Android
Stephen Gilmore
 
Getting started with Xcode
Getting started with Xcode
Stephen Gilmore
 
Crash Course in Objective-C
Crash Course in Objective-C
Stephen Gilmore
 
Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large Practical
Stephen Gilmore
 
METODE PELAKSANAAN DAN EVALUASI JALAN
METODE PELAKSANAAN DAN EVALUASI JALAN
Chay Chay
 
Programming in Objective-C
Programming in Objective-C
Ryan Chung
 
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
彼得潘 Pan
 
_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
_Base: ¡5 posiciones! -Pasar y cortar- (Parte 1)
balonibasket
 
mathematics and intelligence
mathematics and intelligence
Abuta Ogeto
 
Taller Swift - iCon
Taller Swift - iCon
iCon
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
WooKyoung Noh
 
Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLP
Stephen Gilmore
 
Testing Android apps with Robotium
Testing Android apps with Robotium
Stephen Gilmore
 
Swift Tutorial 2
Swift Tutorial 2
Jintin Lin
 
Swift Tutorial 1
Swift Tutorial 1
Jintin Lin
 
Common Java problems when developing with Android
Common Java problems when developing with Android
Stephen Gilmore
 
Getting started with Xcode
Getting started with Xcode
Stephen Gilmore
 
Crash Course in Objective-C
Crash Course in Objective-C
Stephen Gilmore
 
Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large Practical
Stephen Gilmore
 
METODE PELAKSANAAN DAN EVALUASI JALAN
METODE PELAKSANAAN DAN EVALUASI JALAN
Chay Chay
 
Programming in Objective-C
Programming in Objective-C
Ryan Chung
 
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
彼得潘 Pan
 

Similar to Object Oriented Programming in Swift Ch0 - Encapsulation (20)

Design p atterns
Design p atterns
Amr Abd El Latief
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project Bonsai
Ivo Andreev
 
Staging and Deployment
Staging and Deployment
heyrocker
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Uma Ghotikar
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
Tim Duckett
 
Object Oriented Programming Principles
Object Oriented Programming Principles
Andrew Ferlitsch
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
Shawn Jones
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City
Red Gate Software
 
Consolidating MLOps at One of Europe’s Biggest Airports
Consolidating MLOps at One of Europe’s Biggest Airports
Databricks
 
From SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the Switch
Rachel Berryman
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Fwdays
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
Juan C Catalan
 
Software Design
Software Design
Ahmed Misbah
 
C++ in object oriented programming
C++ in object oriented programming
Saket Khopkar
 
Dice.com Bay Area Search - Beyond Learning to Rank Talk
Dice.com Bay Area Search - Beyond Learning to Rank Talk
Simon Hughes
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
S. Diana Hu
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
Joaquin Delgado PhD.
 
Python ml
Python ml
Shubham Sharma
 
Hard Coding as a design approach
Hard Coding as a design approach
Oren Eini
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project Bonsai
Ivo Andreev
 
Staging and Deployment
Staging and Deployment
heyrocker
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Uma Ghotikar
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
Tim Duckett
 
Object Oriented Programming Principles
Object Oriented Programming Principles
Andrew Ferlitsch
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
Shawn Jones
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City
Red Gate Software
 
Consolidating MLOps at One of Europe’s Biggest Airports
Consolidating MLOps at One of Europe’s Biggest Airports
Databricks
 
From SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the Switch
Rachel Berryman
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Fwdays
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
Juan C Catalan
 
C++ in object oriented programming
C++ in object oriented programming
Saket Khopkar
 
Dice.com Bay Area Search - Beyond Learning to Rank Talk
Dice.com Bay Area Search - Beyond Learning to Rank Talk
Simon Hughes
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
S. Diana Hu
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
Joaquin Delgado PhD.
 
Hard Coding as a design approach
Hard Coding as a design approach
Oren Eini
 
Ad

More from Chihyang Li (20)

Image Style Transfer and AI on iOS Mobile App
Image Style Transfer and AI on iOS Mobile App
Chihyang Li
 
Image style transfer and iOS CoreML, Vision Frameworks
Image style transfer and iOS CoreML, Vision Frameworks
Chihyang Li
 
Machine Learning in Swift
Machine Learning in Swift
Chihyang Li
 
Image style transfer & AI on App
Image style transfer & AI on App
Chihyang Li
 
iOS Vision framework
iOS Vision framework
Chihyang Li
 
Design Patterns in Swift Ch5 Abstract Factory Builder
Design Patterns in Swift Ch5 Abstract Factory Builder
Chihyang Li
 
Design patterns in Swift Ch4: Iterator & Template Method
Design patterns in Swift Ch4: Iterator & Template Method
Chihyang Li
 
Swift map & flatMap
Swift map & flatMap
Chihyang Li
 
Swift Optional ??
Swift Optional ??
Chihyang Li
 
Design Pattern in Swift Ch2 Strategy, Decorator
Design Pattern in Swift Ch2 Strategy, Decorator
Chihyang Li
 
Design Pattern Ch3 in Swift Composite
Design Pattern Ch3 in Swift Composite
Chihyang Li
 
Design Patterns in Swift Ch1 Factory Method
Design Patterns in Swift Ch1 Factory Method
Chihyang Li
 
Scrum & Kanban Introduction
Scrum & Kanban Introduction
Chihyang Li
 
Design Patterns in Swift ch0 Introduction
Design Patterns in Swift ch0 Introduction
Chihyang Li
 
Object Oriented Programming Ch3 SRP, DIP, ISP
Object Oriented Programming Ch3 SRP, DIP, ISP
Chihyang Li
 
Object Oriented Programming in Swift Ch2 Polymorphism, OCP, LSP
Object Oriented Programming in Swift Ch2 Polymorphism, OCP, LSP
Chihyang Li
 
Apple Swift API Design Guideline
Apple Swift API Design Guideline
Chihyang Li
 
Swift capture
Swift capture
Chihyang Li
 
DevOps 2016 summit
DevOps 2016 summit
Chihyang Li
 
Slack introduction
Slack introduction
Chihyang Li
 
Image Style Transfer and AI on iOS Mobile App
Image Style Transfer and AI on iOS Mobile App
Chihyang Li
 
Image style transfer and iOS CoreML, Vision Frameworks
Image style transfer and iOS CoreML, Vision Frameworks
Chihyang Li
 
Machine Learning in Swift
Machine Learning in Swift
Chihyang Li
 
Image style transfer & AI on App
Image style transfer & AI on App
Chihyang Li
 
iOS Vision framework
iOS Vision framework
Chihyang Li
 
Design Patterns in Swift Ch5 Abstract Factory Builder
Design Patterns in Swift Ch5 Abstract Factory Builder
Chihyang Li
 
Design patterns in Swift Ch4: Iterator & Template Method
Design patterns in Swift Ch4: Iterator & Template Method
Chihyang Li
 
Swift map & flatMap
Swift map & flatMap
Chihyang Li
 
Swift Optional ??
Swift Optional ??
Chihyang Li
 
Design Pattern in Swift Ch2 Strategy, Decorator
Design Pattern in Swift Ch2 Strategy, Decorator
Chihyang Li
 
Design Pattern Ch3 in Swift Composite
Design Pattern Ch3 in Swift Composite
Chihyang Li
 
Design Patterns in Swift Ch1 Factory Method
Design Patterns in Swift Ch1 Factory Method
Chihyang Li
 
Scrum & Kanban Introduction
Scrum & Kanban Introduction
Chihyang Li
 
Design Patterns in Swift ch0 Introduction
Design Patterns in Swift ch0 Introduction
Chihyang Li
 
Object Oriented Programming Ch3 SRP, DIP, ISP
Object Oriented Programming Ch3 SRP, DIP, ISP
Chihyang Li
 
Object Oriented Programming in Swift Ch2 Polymorphism, OCP, LSP
Object Oriented Programming in Swift Ch2 Polymorphism, OCP, LSP
Chihyang Li
 
Apple Swift API Design Guideline
Apple Swift API Design Guideline
Chihyang Li
 
DevOps 2016 summit
DevOps 2016 summit
Chihyang Li
 
Slack introduction
Slack introduction
Chihyang Li
 
Ad

Recently uploaded (20)

Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP Datasphere Catalog L2 (2024-02-07).pptx
SAP Datasphere Catalog L2 (2024-02-07).pptx
HimanshuSachdeva46
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
Aarno Aukia
 
Step by step guide to install Flutter and Dart
Step by step guide to install Flutter and Dart
S Pranav (Deepu)
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Zoneranker’s Digital marketing solutions
Zoneranker’s Digital marketing solutions
reenashriee
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP Datasphere Catalog L2 (2024-02-07).pptx
SAP Datasphere Catalog L2 (2024-02-07).pptx
HimanshuSachdeva46
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
DevOps for AI: running LLMs in production with Kubernetes and KubeFlow
Aarno Aukia
 
Step by step guide to install Flutter and Dart
Step by step guide to install Flutter and Dart
S Pranav (Deepu)
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Zoneranker’s Digital marketing solutions
Zoneranker’s Digital marketing solutions
reenashriee
 

Object Oriented Programming in Swift Ch0 - Encapsulation