Build fast and powerful applications by harnessing the power of protocol-oriented programming in Swift 4
About This Book
- Leverage the power of protocol-oriented programming in your applications and learn from real-world use cases
- Create a flexible code base with protocols and protocol extensions
- Leverage the power of generics in Swift 4 to create very flexible frameworks
Who This Book Is For
This book is for Swift developers who want to learn and implement protocol-oriented programming in their real-world applications..
What You Will Learn
- Understand the differences between object-oriented programming and protocol-oriented programming
- Explore the different types that Swift offers and what pitfalls to avoid
- Delve into generics and generic programming
- Learn how to implement Copy-On-Write within your custom types
- Implement several design patterns in a protocol-oriented way
- Design applications by prioritizing the protocol first and the implementation types second
Swift has become the number one language used in iOS and macOS development. The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore, every Swift developer should understand these powerful concepts and how to take advantage of them in their application design.
This book will help you understand the differences between object-oriented programming and protocol-oriented programming. It will demonstrate how to work with protocol-oriented programming using real-world use cases. You will gain a solid knowledge of the various types that can be used in Swift and the differences between value and reference types. You will be taught how protocol-oriented programming techniques can be used to develop very flexible and easy-to-maintain code.
By the end of the book, you will have a thorough understanding of protocol-oriented programming and how to utilize it to build powerful and practical applications.
Style and approach
This book is written for developers who learn best by working with code, so every concept discussed in this book is reinforced with real code examples.
Table of Contents
Starting with the Protocol
- Protocol syntax
- Protocol inheritance
- Protocol composition
- Using protocols as a type
- Polymorphism with protocols
- Type casting with protocols
- Associated types with protocols
- Designing with protocols
- Protocols in the Swift standard library
- Our Type Choices
- Object-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
- The winner is...
Adopting Design Patterns in Swift
- What are design patterns?
- The singleton design pattern
- The builder design pattern
- The factory method pattern
Structural design patterns
- The bridge pattern
- The facade pattern
- The proxy design pattern
Behavioral design patterns
- The command design pattern
- The strategy pattern
- The observer pattern
- Case Studies
- Title: Swift 4 Protocol-Oriented Programming - Third Edition
- Release date: October 2017
- Publisher(s): Packt Publishing
- ISBN: 9781788470032