Declarative Programming in Swift
Hai Feng Kao

CocoaHeads Taipei 

2021/12/9
Imperative Programming
• 需要告知電腦計算過程

• 副作⽤立刻出現

• 程式碼的順序很重要
Declarative Programming
• 計算過程被隱藏

• 告知電腦我們要什麼

• 在需要求值的時候才進⾏計算(產⽣副作⽤

• 每⼀個操作(新增、修改、合併、刪除)都是
⼀個新的型別
Apple帶來的流⾏風潮
Apple帶來的流⾏風潮
Apple帶來的流⾏風潮
對稱
Declarative Programming
• 每個物件都是⼀塊積⽊

• 有⼀致的介⾯讓積⽊可以互相組合

• 程式就是⼀堆積⽊的組合

• 在堆積⽊的過程中,積⽊不會破壞變形
Demo
What is next?
• Memoization

• Codable

• 與DCI的結合

Declarative programming in swift