PAC | Swift 4 Protocol-Oriented Programming (2017 EN)

Discussion in 'Programming' started by Kanka, Jul 22, 2019.

  1. Kanka

    Kanka Well-Known Member Loyal User

    Messages:
    16,395
    Likes Received:
    485
    Trophy Points:
    83
    [​IMG]

    Company: Packt Publishing
    Author: Jon Hoffman
    Full Title: Swift 4 Protocol-Oriented Programming
    Year: 2017
    Language: English
    Genre: Educational: Application Development
    Skill Level: -
    Price: €124.99
    -
    Files: MP4 (+ Code Files)
    Time: 02:54:30
    Video: AVC, 1920 x 1080 (1.778) at 30.000 fps, 400 kbps
    Audio: AAC at 126 Kbps, 2 channels, 48.0 KHz



    Master multithreading and concurrent processing with C++.

    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 course will help you understand the differences between Object-Oriented Programming and Protocol-Oriented Programming. It demonstrates 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 course, 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 course is written for developers who learn best by working with code, so every concept discussed in this course is reinforced with real code examples.


    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

    Features:
    ✓ 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


    Lessons:
    1. Starting with the Protocol
    01. The Course Overview
    02. Protocol Syntax and Inheritance
    03. Using Protocols as a Type
    04. Polymorphism with Protocols
    05. Type Casting and Associated Types with Protocols
    06. Delegation
    07. Designing with Protocols
    2. Our Type Choices
    08. Classes
    09. Access Controls and Enumerations
    10. Tuples
    11. Value and Reference Types
    12. Recursive Data Types and Inheritance for Reference Types
    13. Dynamic Dispatch
    3. Extensions
    14. Defining an Extension
    15. Protocol Extensions
    16. Text Validation
    17. Extensions with the Swift Standard Library
    18. Conforming to the Equatable Protocol
    4. Generics
    19. Generic Functions and Type Constraints
    20. Generic Types
    21. Associated Types
    22. Generic Subscripts
    23. Copy-on-write
    24. Generics in a Protocol-Oriented Design
    5. Object-Oriented Programming
    25. Swift as an Object-Oriented Programming Language
    26. Issues with the Object-Oriented Design
    6. Protocol-Oriented Programming
    27. Swift as a Protocol-Oriented Programming Language
    28. Object-Oriented Programming versus Protocol-Oriented Programming
    7. Adopting Design Patterns in Swift
    29. Creational Patterns
    30. Structural Design Patterns
    31. Behavioral Design Patterns
    8. Case Studies
    32. Logging Service
    33. Data Access Layer


    -------------