目錄(143章)
倒序
- coverpage
- Title Page
- Third Edition
- Copyright
- Swift 4 Protocol-Oriented Programming
- Third Edition
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- Starting with the Protocol
- Protocol syntax
- Defining a protocol
- Property requirements
- Method requirements
- Optional requirements
- Protocol inheritance
- Protocol composition
- Using protocols as a type
- Polymorphism with protocols
- Type casting with protocols
- Associated types with protocols
- Delegation
- Designing with protocols
- Protocols in the Swift standard library
- Summary
- Our Type Choices
- Classes
- Structures
- Access controls
- Enumerations
- Tuples
- Protocols
- Value and reference types
- Recursive data types for reference types only
- Inheritance for reference types only
- Dynamic dispatch
- Swift's built-in types
- Copy-on-write
- Summary
- Extensions
- Defining an extension
- Protocol extensions
- Text validation
- Extensions with the Swift standard library
- Conforming to the Equatable protocol
- Summary
- Generics
- Generic functions
- Type constraints with Generics
- Generic types
- Associated types
- Generic subscripts
- Copy-on-write
- Generics in a protocol-oriented design
- Generics in the Swift standard library
- Summary
- Object-Oriented Programming
- What is object-oriented programming?
- Requirements for the sample code
- Swift as an object-oriented programming language
- Issues with the object-oriented design
- Summary
- Protocol-Oriented Programming
- Requirements for the sample code
- Swift as a protocol-oriented programming language
- Summarizing protocol-oriented programming and object-oriented programming
- Differences between object-oriented programming and protocol-oriented programming
- Protocol and protocol extensions compared with superclasses
- Implementing vehicle types
- Using value and reference types
- The winner is...
- Summary
- Adopting Design Patterns in Swift
- What are design patterns?
- Creational patterns
- The singleton design pattern
- Understanding the problem
- Understanding the solution
- Implementing the singleton pattern
- The builder design pattern
- Understanding the problem
- Understanding the solution
- Implementing the builder pattern
- The factory method pattern
- Understanding the problem
- Understanding the solution
- Implementing the factory method pattern
- Structural design patterns
- The bridge pattern
- Understanding the problem
- Understanding the solution
- Implementing the bridge pattern
- The facade pattern
- Understanding the problem
- Understanding the solution
- Implementing the facade pattern
- The proxy design pattern
- Understanding the problem
- Understanding the solution
- Implementing the proxy pattern
- Behavioral design patterns
- The command design pattern
- Understanding the problem
- Understanding the solution
- Implementing the command pattern
- The strategy pattern
- Understanding the problem
- Understanding the solution
- Implementing the strategy pattern
- The observer pattern
- Understanding the problem
- Understanding the solution
- Implementing the observer pattern
- Summary
- Case Studies
- Logging service
- Requirements
- The design
- Conclusion
- Data access layer
- Requirements
- The design
- Data model layer
- Data helper layer
- Bridge layer
- Using the data access layer
- Conclusion
- Summary 更新時間:2021-07-08 09:42:58
推薦閱讀
- 數據庫原理及應用(Access版)第3版
- JavaScript+DHTML語法與范例詳解詞典
- Swift 3 New Features
- Python高級機器學習
- aelf區塊鏈應用架構指南
- Apache Karaf Cookbook
- 用Python實現深度學習框架
- WordPress 4.0 Site Blueprints(Second Edition)
- Visual FoxPro程序設計習題集及實驗指導(第四版)
- Python預測之美:數據分析與算法實戰(雙色)
- Learning Unreal Engine Game Development
- Test-Driven iOS Development with Swift
- Swift High Performance
- Mastering Clojure
- 絕密原型檔案:看看專業產品經理的原型是什么樣
- 交互設計語言:與萬物對話的藝術(全兩冊)
- Boost.Asio C++ Network Programming Cookbook
- Xamarin Cross-platform Application Development(Second Edition)
- 小學生C++編程課堂(新手篇)
- Learn Spring for Android Application Development
- Python程序設計基礎教程(慕課版)
- 零基礎玩轉Python
- Hadoop技術內幕:深入解析YARN架構設計與實現原理
- 編程原則:來自代碼大師Max Kanat-Alexander的建議
- concrete5 for Developers
- 計算機常用工具軟件入門與應用
- 步步為贏:交互設計全流程解析
- Building a Home Security System with Arduino
- shell腳本基礎教程
- AngularJS Directives