QUESTPOND ONLINE COURSE

Design pattern and Architecture pattern training

What you'll learn

  • Dedicated chapter covering Repository and UOW pattern , Generic repository , EF ( ORM ) VS  Repository ,  Mock  testing and Unit testing with Repository,
  • Dedicated topic on Singleton as its one of the most discussed pattern , Singleton VS Static, Thread Safety in Singleton, Double NULL check , Lazy Keyword
  • What are the requirements or prerequisites for taking your course?
  • Seniors Programmers who are looking for Senior technical or Architect position.
  • Said and Done Any one with  1 to 2 years of experience can also look from knowledge perspective.
  • Who is this course for?
  • This course is meant for  developers who are looking to crack Software Architect Interviews

Course Curriculum

Explore the topics covered in this course.

+
Guru Mantra of Architects. Click to view syllabus
Module 1
  • How do human ( devs) understand complex system?
  • Philosophy of decoupling, classification -- Abstraction.
  • Definition of good architecture: - Decoupling changes.
  • The way Humans understand complex systems.
  • Classification and Abstraction.
  • Connection between Abstraction and Decoupling.
  • Abstraction Shows way to Encapsulation.
+
OOP, SOLID, DI, IOC :- The Architects View Click to view syllabus
Module 2

• Classification and Polymorphism = Decoupled systems.
• Interface and Abstract classes.
• SOLID Principles the architect ways of looking.
• Aggregation, Composition and Association.
• IOC, DI And Simple Factory.
• Design patterns, Architecture Patterns and Architecture Style.
• What is Design pattern, who is GOF?
• Design pattern vs Architectural Pattern vs Style.

+
Design patterns Fundamentals Click to view syllabus
Module 3

• Creational, Structural and Behavioural.
• GOF and NON-GOF patterns.
• Individual learning vs DDD way of learning.
• Singleton Pattern
• Factory Pattern
• Adapter Pattern
• Bridge Pattern

+
Learning some patterns Individually Click to view syllabus
Module 4

• Composite Pattern
• Decorator Pattern
• Template Pattern
• Strategy pattern.
• Façade Pattern.
• Memento and Flightweight.
• Microservice Definition with an example
• Monolith :- The other side of the coin
• Benefits of Microservices :- Team Autonomy,Independent development , deployment
• Understanding the vocabulary DOMAIN
• Understand the term DDD ( Domain Driven Design)
• Domain vs Classes / Objects
• Strategic DDD and Tactical DDD phases

+
Strategic DDD Click to view syllabus
Module 5

• Subdomains , Core domain , Supporting domain and Generic Domain
• Importance of Domain Classification.
• Bounded Context :- The Logical Boundary.
• Context Map :- The Bridge between Bounded Context
• Understanding Context Map patterns
• Upstream and Downstream
• Understanding the 9 Context Map Patterns
• Context Map are guidelines and not ultimate truth.
• Context Map pattern Confusion
• Understanding Entity , Value objects and Service objects.
• Implementing in C# Entity , Value objects and Services the right way.
• Id’s and GUID’s in a Entity.
• Let the objects behave as they speak :- Huh Reference Equality.
• The Love Triangle ( Equals , == , GetHashCode)
• Why value objects and why not Utility ?
• Value objects , Immutability and side effects.
• Spicing it up with init
• Value objects with record and structs

+
Tactical DDD Click to view syllabus
Module 6

• Record and EF
• Why struct is not good , EF issues , By val
• Immutability = Get plus constructor.
• Mind the Collision , using hashcode.combine.
• Aggregate Root , maintaining integrity and transactional scopes.
• Iterator patter in Aggregate root.
• Application service , Domain Service and Infrastructure service.
• Not DDD Anamic vs Rich model
• Factory in DDD
• Factory in DDD vs Factory in GOF.
• SAGA , Eventual Consistency :- Who does it.
• What is CQRS , Why do we need it ?
• Marker interface
• The 2 pillars of CQRS: - Command, Query and their concrete classes.
• More than Duplicity SOC is the focus.
• Handler the binding pillar.

+
CQRS Click to view syllabus
Module 7

• The three pillars : Command , Query and Handler.
• Mediatr :- The Unambitious Postman.
• Translating using Automapper
• Events and Aggregates
• Writing code for Iquery.
• Properties vs Constructors.
• Event Sourcing.
• Projection and Materialized views :- The Nirvana.
• What is Event sourcing?
• When do we need it and is it compulsory
• Traditional Store vs Event Db Store.
• Importance of version number

+
Event Sourcing Click to view syllabus
Module 8

• Event and EventSourceDB
• JSON Serialization
• Coding the Event Source DB
• DB Agnostic.
• Ignoring properties in Events.
• Value objects mapping – Owned Objects.
• Handing Multiple DB Context OLTP (Entities) and Audits (Event Sourcing)
• Emphasizing constructor-based property passing.
• Should you have a super aggregate root or Only Aggregate.
• Create Explicit methods atleast for Update and Remove.
• Soft deletes, Child Soft deletes,.
• Event sourcing , Event Stored , Commands should 1 to many.

+
Nuts and Bolts of persisting DDD using EF Click to view syllabus
Module 9

• Event sourcing , Event Stored , Commands should 1 to many.
• 1 to many exaggerates the problem for Commands.
• Automapper does not look good especially for aggregate notes.
• Aggregate root purity and EF mapping requirement: - The dispute.
• Moving Events before Repository good or bad.
• Command complication for deep root increases for 1 to many.
• 4 steps of DDD _ Command ? Mediator ? Command Handler ? Repository and Event Source for Audits
• Events to use for Business rules and validations.
• Architecture Style.
• Onion ( Domain Oriented)

+
Unnecessarily discussed :- Lets clear confusion Click to view syllabus
Module 10

• Clean Architecture ( Use Case oriented) ( EUCE  - Phonetically Jeuce)
• Hexagonal ( Port and Adapters)