Mastering Design Patterns and Software Design – Swift, iOS

Become a Pro in Software Design and Design Patterns by learning with real time examples and scenarios.

This is a practical course that equip with all you need in order to understand and use Design Patterns and Software Design skills to develop code which is flexible, extendable and maintainable. We will be learning the Design Patterns with visualisation of how each pattern works internally and implement each pattern with scenario based examples with step by step approach in Swift Programming.

What you’ll learn

  • Become an expert in System Designing and Pro in Software Design Patterns..
  • You will learn the Design Patterns with step by step implementation in Swift Programming..
  • Learning Creational, Structural and Behavioural Design Patterns from Zero to Hero..
  • Understanding when to use which design pattern and learning the decision making skills..
  • Learning how Apple used these design patterns in iOS SDK and inner workings of Swift Foundation Framework.
  • Uncovering the inner workings to get in depth understanding to crack technical interviews..
  • Learning Design patterns with real time situations and practical usage in projects..
  • Up skill your Software Design knowledge to write scalable, flexible and maintainable code..
  • Learning the insights of Swift Foundation and iOS SDK..
  • You will able to face System Design Interviews and Senior Technical rounds with ease and confidence..

Course Content

  • Introduction –> 1 lecture • 4min.
  • Prototype Design Pattern (CREATIONAL) –> 5 lectures • 22min.
  • Singleton Design Pattern (CREATIONAL) –> 3 lectures • 21min.
  • System Design Fundamentals & Terminology –> 3 lectures • 17min.
  • Factory Design Pattern (CREATIONAL) –> 2 lectures • 14min.
  • Abstract Factory Design Pattern (CREATIONAL) –> 2 lectures • 21min.
  • Builder Design Pattern (CREATIONAL) –> 2 lectures • 13min.
  • Object Pool Design Pattern (CREATIONAL) –> 2 lectures • 12min.
  • Creational Patterns – Takeaway –> 1 lecture • 2min.
  • Adapter (STRUCTURAL) –> 2 lectures • 12min.
  • Bridge (STRUCTURAL) –> 2 lectures • 15min.
  • Composite (STRUCTURAL) –> 2 lectures • 17min.
  • Proxy (STRUCTURAL) –> 2 lectures • 15min.
  • Facade (STRUCTURAL) –> 2 lectures • 10min.
  • Decorator (STRUCTURAL) –> 2 lectures • 10min.
  • FlyWeight (STRUCTURAL) –> 2 lectures • 18min.
  • Chain of Responsibility (BEHAVIOURAL) –> 2 lectures • 12min.
  • Strategy (BEHAVIOURAL) –> 2 lectures • 9min.
  • Template (BEHAVIOURAL) –> 2 lectures • 8min.
  • Observer (BEHAVIOURAL) –> 2 lectures • 15min.
  • Mediator (BEHAVIOURAL) –> 2 lectures • 19min.
  • State (BEHAVIOURAL) –> 2 lectures • 15min.
  • Visitor (BEHAVIOURAL) –> 3 lectures • 23min.
  • Command (BEHAVIOURAL) –> 2 lectures • 13min.

Mastering Design Patterns and Software Design - Swift, iOS

Requirements

  • Basic Swift Programming Knowledge.

This is a practical course that equip with all you need in order to understand and use Design Patterns and Software Design skills to develop code which is flexible, extendable and maintainable. We will be learning the Design Patterns with visualisation of how each pattern works internally and implement each pattern with scenario based examples with step by step approach in Swift Programming.

We we be also looking at various key concepts of Swift, Objective C and iOS SDK to understand the inner workings and insights during various stages of course. You will get good confidence to crack senior technical interviews that relates to Design patterns and Software Design landscape. We also cover most of the Design Principles one should aware to write code which is reusable and robust.

You will be learning the Creational Design patterns for efficiently creating objects in a flexible way that increases the extendability and maintainability of the code. You will master the Singleton, Prototype, Factory, Abstract Factor, Builder and Object Pool patterns as part of the Creational Design Patterns.

You will be learning the Structural Design patterns for assembling classes and objects to create larger structures in a decoupled way that increases the extendability and maintainability of the code. You will master the Adapter, Bridge, Composite, Decorator, FlyWeight , Proxy and Facade patterns as part of the Structural Design Patterns.

You will be learning the Behavioural Design Patterns which identifies and establishes communication between objects in a flexible and loosely coupled manner. You will master Chain of Responsibility, Strategy, Template, Observer, Command, State, Visitor, Mediator patterns as part of the Behaviour Design Patterns.

You will be also leaning most common Software Design Core Concepts and Terminology that we use for Designing reusable, flexible and extendable Software Components in day to day life of Software Development.