Workshop on Design Patterns & Software Architecture
Course Type: Customized Training based on proposed Microsoft Official Curriculum
TRAINING METHODOLOGYLearning 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
- 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
- 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
- Introduction
- The Adapter Pattern
- The Bridge Pattern
- The Composite Pattern
- The Decorator Pattern
- The Façade Pattern
- The Flyweight Pattern
- The Proxy Pattern
- Summary
- 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
- 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
- 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
- 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
- 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
- Thread Manager Pattern
- UI Components and UI Process Components
- ASP.NET Web Applications
- AJAX Patterns and Tools
- Recommendations for data access
- Why use stored procedures
- Designing Data Access Components
- Concurrency Management Pattern
- Session Management in ASP.NET Web Applications
- State Management in ASP.NET Web Applications
- State Management in XML Web Services
- Transaction Services Pattern
- Security Recommendations
- Password Storage
- Database Connection Models
- Profile Management Services
- Personalization Services
- Health Monitoring Services
- Configuration Management
- Deployment and Upgrade Patterns
- Class Factories Pattern
- The Singleton Pattern
- Packet Patterns
- Advanced Patterns
- OWIN in .NET Core and ASP.NET
- Dependency Injection
- Identity Management
- Audit Logging
- Understanding Cloud Computing
- SaaS Vs. S+S
- Benefits of Cloud Computing
- Compute Models
- Storage Models
- Service Models
- Open Discussion: Planning for a Migration Strategy
- Where to go from here?
- Suggested Reading
- How to Read and Learn
- Some Important Resources