目錄(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
推薦閱讀
- 計算機網絡
- JavaScript修煉之道
- 單片機C語言程序設計實訓100例:基于STC8051+Proteus仿真與實戰
- Django開發從入門到實踐
- Architecting the Industrial Internet
- 基于Java技術的Web應用開發
- 基于免疫進化的算法及應用研究
- Oracle JDeveloper 11gR2 Cookbook
- Haxe Game Development Essentials
- Android開發三劍客:UML、模式與測試
- ArcGIS for Desktop Cookbook
- Web App Testing Using Knockout.JS
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- Learning Python Data Visualization
- Python高性能編程(第2版)
- 深入大型數據集:并行與分布化Python代碼
- Learning Redux
- Spring Microservices
- 區塊鏈技術與智能服務應用
- 大學計算機基礎
- 深入解析WPF編程
- QGIS Python Programming Cookbook
- Swift Essentials
- PHP程序設計
- Unity 5.x Cookbook
- Learning Python
- Java Web程序設計(慕課版)
- Qt for Python PySide6 GUI界面開發詳解與實例
- PHP從入門到精通(第5版)
- On Java:中文版·基礎卷