Angular Architecture and Best Practices

Course Description

A lot of questions typically come up as developers write application code. For example, are you following established best practices? How easy will it be to maintain and refactor the application in the future? If you're starting a new application from scratch, what application architecture should be used? These types of questions are common when building any type of application especially when you're focused on meeting a deadline. While there's a lot of information out there about the core concepts of Angular, very little focuses on architectural concepts, best practices, and how to solve some of the more challenging tasks that come up.

The Angular Architecture and Best Practices course will provide guidance to help you think through the process of building a solid application architecture that is easy to refactor and maintain. Some of the topics covered include component communication techniques, state management, code organization, general best practices, performance considerations, and more.

This course provides 2 days of training material and 2-3 additional days of architecture services to evaluate an existing applications at your company, create a seed project that can be used for future projects, or start the analysis and work on a new project.

Course Length:

4 Days


Existing knowledge of Angular and TypeScript is required.


This course is designed for Angular developers looking to take their development skills and knowledge to the next level.

Course Outline:

  1. Planning the Application Architecture
    • The Angular Style Guide
    • Architecture Considerations
    • Architecture Planning Template
    • Planning an Application
  2. Organizing Features and Modules
    • Organizing Features
    • Feature Modules
    • Core and Shared Modules
    • Creating a Custom Library
    • Consuming a Custom Library
  3. Structuring Components
    • Container and Presentation Components
    • Passing State with Input and Output Properties
    • Change Detection Strategies
    • ngOnChanges: Reference versus Value
    • Cloning Techniques
    • Component Inheritance
  4. Component Communication
    • Component Communication Techniques
    • Creating an Event Bus Service
    • Using an Event Bus Service
    • Creating an Observable Service
    • Subscribing to an Observable Service
    • The AutoUnsubscribe Decorator
  5. State Management
    • State Management Techniques
    • Using Services
    • Using Ngrx
    • Using Akita
    • Using Observable Store
  6. Additional Considerations
    • Functions versus Pipes
    • Converting a Function to a Pipe
    • Adding a Memo Decorator
    • HttpClient and RxJS Operators
    • Using Interceptors

Private Onsite/Online Pricing for Development Teams

4-day class is $19,000 for up to 24 students (plus travel costs for onsite classes).

The course pricing includes student access to an electronic version of the course manual, lab manual, sample code and lab code. Courses can also be customized if you'd like to run a shorter or longer version of the course.

Contact Us if you'd like to schedule a class for your development team or if you have any questions.

Public Classes

Although we don't offer public training classes for individuals, we partner with Interface Technical Training and they offer instructor-led classes in Phoenix, AZ or online through their RemoteLive technology.

Training Courseware

Contact Us about licensing our courseware (slides, course manual, lab manual and code) for your own training courses.


Join Our Development Newsletter!