目錄(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
推薦閱讀
- Spring 5.0 Microservices(Second Edition)
- Java程序設計(慕課版)
- 數據庫系統教程(第2版)
- TypeScript入門與實戰
- 深入淺出Electron:原理、工程與實踐
- Cross-platform Desktop Application Development:Electron,Node,NW.js,and React
- PaaS程序設計
- Java網絡編程核心技術詳解(視頻微課版)
- PHP從入門到精通(第4版)(軟件開發視頻大講堂)
- 零基礎學C語言(升級版)
- Tableau Dashboard Cookbook
- Cinder:Begin Creative Coding
- Scratch 3.0少兒積木式編程(6~10歲)
- Visual FoxPro程序設計
- C#開發之道
- Java Web程序員面試筆試寶典
- Access 2013數據庫應用案例課堂
- RStudio for R Statistical Computing Cookbook
- Python Web Scraping(Second Edition)
- 商業銀行經營管理(第2版)
- C++ Multithreading Cookbook
- Android設計模式與最佳實踐
- 構建高質量軟件:持續集成與持續交付系統實踐
- Mastering Python Data Visualization
- UML軟件建模任務驅動教程(第2版)
- iOS開發基礎教程(Swift版)
- 代碼精進之路:從碼農到工匠
- Instant Sikuli Test Automation
- Python科學計算入門與實戰:視頻教學版
- Android開發入門百戰經典 (程序員典藏)