design patterns using objective c

By attending Design Patterns Using Objective C workshop, Participants will learn:​

  • Demonstrate how to use design patterns to address user interface design issues.
  • Identify the most suitable design pattern to address a given application design problem.
  • Apply design principles (e.g., open-closed, dependency inversion, least knowledge).
  • Critique code by identifying and refactoring anti-patterns.
  • Apply the model-view-controller architectural pattern.

The Design Patterns Using Objective C training course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, you will gain a foundation for more complex software applications. Finally, you will identify problematic software designs by referencing a catalog of code smells.

You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells.

COURSE AGENDA

  • Debugging IOS Applications
  • The Debug Navigator
  • Debug Area
  • Viewing Console output and logs
  • Incorporate Unit Testing
  • Writing test suites
  • Setting Unit Testing in a project
  • Writing Test Case methods
  • Tests
  • Logic Unit Tests
  • Frame Unit Tests
  • Application Unit Tests
  • Running the tests
  • Observing the test results
  • Customizing the controller
  • Hidden features of Cocoa that can be useful for development
  • Overview of latest SDK features (not in detail, but just a preview of what is to follow)
  • Introduction
  • The libkern C++ Runtime
  • libkern Collection and Container Classes
  • The IOService API
  • Making Hardware Accessible to Applications
  • Kernel-User Notification
  • Displaying Localized information About Drivers
  • Mediator
  • Observer
  • Common pitfalls while designing iOS applications and how to avoid them
  • Common Database pitfalls and how to overcome them
  • Hidden features that can useful for developers
  • Plan how to design, code and test applications effectively - share your personal experience, best practices
  • Allocation and Initialization
  • Allocating Memory For Objects
  • Initializing New Objects
  • Combining Allocation and Initialization
  • Deallocation
  • Prototype
  • Factory Method
  • Abstract Factory
  • Builder
  • SingleTon
  • Profiling using
  • XCode Profiler
  • Shark Profiler
  • Activity Monitor
  • Gathering statistics using Instruments
  • HD Monitors
  • Performance reporting using MacStats tool
  • What is I/O Kit?
  • Architectural Overview
  • The I/O Registry
  • Driver and Device Matching
  • The Base Classes
  • I/O Kit Families
  • Handling Events
  • Managing Data
  • Managing Power and Device Removal
  • Hello Debugger: Debugging a Device Driver with GDB
  • Packing your KEXT for Distribution and Installation
  • Loading Kernel Extensions at Boot Time
  • Kernel Extension Dependencies
  • Adaptor
  • Bridge
  • Facade
  • Composite
  • Iterator
  • Visitor
  • Decorator
  • Chain of Responsibility
  • Template Method
  • Strategy
  • Command