Swift Swift面向協議程式設計初探

2021-10-07 05:29:56 字數 430 閱讀 6481

swift面向協議程式設計初探

物件導向程式設計和面向協議程式設計最明顯的區別在於程式設計過程中對資料型別的抽取(抽象)上,物件導向程式設計使用類和繼承的手段,資料型別是引用型別;而面向協議程式設計使用的是遵守協議的手段,資料型別是值型別(swift中的結構體或列舉)。

面向協議程式設計是在物件導向程式設計基礎上發展而來的,而並不是完全背離物件導向程式設計的思想。

物件導向程式設計是偉大的程式設計思想,也是當今主流的程式設計思想,它的問題在於被過多的使用在其實並不需要使用它的情況下。

swift是一門支援多程式設計正規化的語言,既支援物件導向程式設計,也支援面向協議程式設計,同時還支援函式式程式設計。在專案開發過程中,控制器和檢視部分由於使用系統框架,應更多採用物件導向程式設計的方式;而模型或業務邏輯等自定義型別部分,則應優先考慮面向協議程式設計。

javascript 學習筆記之物件導向程式設計

物件特殊屬性 資料屬性和訪問器屬性 1 資料屬性 configurable 是否可刪除 enumerable 是否可列舉for in writable 是否可寫 value 值 要修改預設屬性必須使用defineproperty object,key,descriptor 方法 例如 var per...

Swift 面向協議程式設計之協議擴充套件

協議的命名遵循swift的標準庫,即協議名以 type able ible 結尾。例如 sequencetype,generatortype,customstringcoveeertible,type定義行為,able定義元素怎樣做事。swift 能擴充套件協議 協議可以新增方法和屬性 協議擴充套件...

C 使用KingAOP實現AOP面向切面程式設計二

本文繼續上篇講述一下比較複雜點的aop例子,先新建乙個控制台專案,然後同樣先在nuget中搜尋安裝kingaop到專案中 1 專案結構 2 定義乙個登入實體類user和loggingaspect切面日誌類 public class user public string name public str...