about banner




Workshop on Design Patterns and Software Architecture Overview
COURSE DETAILS

Course Type: Customized Training based on proposed Microsoft Official Curriculum


TRAINING METHODOLOGY

Learning by Example: Instructor-led on-line training program


Sessions: 17 Sessions (2 hours each)

This intensive .NET Workshop has been specifically designed to address the requirements of architects, analysts, project managers, program managers and senior developer faced with application design and planning with a comprehensive introduction to creating typical commercial web and distributed service driven applications targeted for the.NET Platform, using C#.
The primary objective of this Workshop is to help you understand, identify and implement proper OOPs development strategies and design patterns into your day-to-day Microsoft .NET Development Life Cycle.


PREREQUISITE SKILLS - The following are the basic requirements in terms of skills for each of the candidates:

  • Thorough knowledge of architecting and designing .NET including: o Enhancements in the C# Language Ver 2 to 5
    • ASP.NET development, deployment & best practices
    • WCF Development
    • WF Development
    • ADO.NET and Entity Framework
    • Services Oriented Architectures (SOA) and Windows Services
  • Knowledge of Distributed Application development patterns and the Cloud Computing Models preferred
LAB SETUP
  • For the Participants’ Machines (in the order of installation):
    • Windows 10 with Service packs.
    • IIS 10 or above
    • WCF HTTP Activation
    • WCF Non-HTTP Activation
    • Office 2013 or above, with Service Packs
    • SQL Server 2014 Express Edition
    • Visual Studio 2019 or above (Express/Professional/Ultimate)
    • Service Pack(s)
    • Windows PowerShell
    • SQL Server Management Studio 2008 R2 or Above
  • Administrator Access Grant on the local machine
THE MODULES
  • Module 01: Introduction to Design Patterns
    • A Brief History
    • Some Useful Definitions
    • Defining Design Patterns
    • The Learning Process
    • The Object-Oriented Approach
    • Introduction to UML Diagrams:
      • The Class
      • Inheritance
      • Interface
      • Composition
  • Module 02: GoF Creational Patterns
    • Introduction
    • The Simple Factory Pattern
    • The Factory Method Pattern
    • The Abstract Factory Pattern
    • The Singleton Pattern
    • The Builder Pattern
    • The Prototype Pattern
    • Summary
    Module 03: GoF Structural Patterns
    • Introduction
    • The Adapter Pattern
    • The Bridge Pattern
    • The Composite Pattern
    • The Decorator Pattern
    • The Façade Pattern
    • The Flyweight Pattern
    • The Proxy Pattern
    • Summary
    Module 04: GoF Behavioral Patterns
    • Introduction
    • The Chain of Responsibility Pattern
    • The Command Pattern
    • The Interpreter Pattern
    • The Iterator Pattern
    • The Mediator Pattern
    • The Memento Pattern
    • The Observer Pattern
    • The State Pattern
    • The Strategy Pattern
    • The Template Method Pattern
    • The Visitor Pattern
    Module 05: Key Tools of implementing Design Patterns in the .NET Framework
    • Indexers
    • XML Commenting an Application
    • General Coding Guidelines
    • Intermediate OOPs concepts
    • Polymorphism
    • Abstraction
    • Aggregation
    • Advanced OOPs concepts
    • Interfaces Pattern
    • Delegates and Events Pattern
    • Programming Models
    • Statement Driven
    • Procedural
    • Object Oriented
    • Event Driven
    • Declarative
    • Attribute Driven
    Module 06: Framework Patterns
    • Logging
    • Tracing
    • Debugging
    • Exception Handling Pattern
    • Managing the Object Life-Cycle
    • Understanding the Garbage Collector
    • Memory Management Pattern
    • Resource Management Pattern
    • Parallel Processing
    • Multi-Threading
    • Task
    • Async/Await
    Module 07: Integration Patterns and Strategies
    • Assemblies re-visited
    • Types of Assemblies
    • Public / Shared Private
    • Resources
    • Assembly Versioning
    • Nuget Packages
    • Integrating with non .NET Architectures
    • Inter-operability
    • Dynamic Assembly Loader Pattern
    Module 08: Service Oriented Architectures
    • Why SOA?
    • Strategies for creating an SOA
    • Object Serialization
    • Synchronous and Asynchronous XML Web Services
    • Service Facade Pattern
    • Web Service Interface Pattern
    • Micro Services Architectures Vs. Monolithic Architectures
    Module 09: Patterns and Practices for the Presentation Tier
    • Thread Manager Pattern
    • UI Components and UI Process Components
    • ASP.NET Web Applications
    • AJAX Patterns and Tools
    Module 10: Patterns and Practices for Data Access
    • Recommendations for data access
    • Why use stored procedures
    • Designing Data Access Components
    • Concurrency Management Pattern
    Module 11: Persistence-Tier Patterns
    • Session Management in ASP.NET Web Applications
    • State Management in ASP.NET Web Applications
    • State Management in XML Web Services
    • Transaction Services Pattern
    Module 12: Operational Management Strategies
    • Security Recommendations
    • Password Storage
    • Database Connection Models
    • Profile Management Services
    • Personalization Services
    • Health Monitoring Services
    • Configuration Management
    • Deployment and Upgrade Patterns
    Module 13: Middle-Tier Patterns and Strategies
    • Class Factories Pattern
    • The Singleton Pattern
    • Packet Patterns
    • Advanced Patterns
    • OWIN in .NET Core and ASP.NET
    • Dependency Injection
    • Identity Management
    • Audit Logging
    Module 14: Introduction to the Cloud Computing Model using Azure
    • Understanding Cloud Computing
    • SaaS Vs. S+S
    • Benefits of Cloud Computing
    • Compute Models
    • Storage Models
    • Service Models
    Module 15: Conclusion
    • Open Discussion: Planning for a Migration Strategy
    • Where to go from here?
    • Suggested Reading
    • How to Read and Learn
    • Some Important Resources