
Explore creational design patterns that control object creation, including simple factory, factory method, abstract factory, singleton, prototype, and builder, to manage complexity and flexibility.
Explore the singleton pattern in C# with private constructors, a single instance, and thread safety techniques including lock and double-check locking, highlighting performance trade-offs.
Clone existing objects to create new instances efficiently using the prototype pattern, with a clone method on an abstract prototype and concrete customers like general and privileged with discounts.
Explore the prototype pattern through shallow copy, creating a new object and copying non-static fields while shared references, like product details, remain linked; compare with the deep-copy behavior.
Explore the builder pattern in C# using abstract interfaces and concrete builders to assemble complex objects like bank accounts. See how a director guides construction to produce different representations.
Explore the composite design pattern concepts, detailing how composites and leaves form hierarchical structures, perform operations, and manage child components in real-world examples like file systems.
Explore the composite design pattern through a practical html-like hierarchy of parent and child tags, implementing components, leaves, and composites with add, remove, and getChildren methods.
Implement the decorator design pattern in a car racing app by wrapping a core car component with decorators that add features like speed and number of cars.
Implement a remote proxy in C# to act as the subject, enabling on-demand report generation through a proxy, remote object, and channel.
Explore the interpreter design pattern concepts, focusing on domain modeling, the role of context, and the use of abstract expressions. See how context informs interpretation.
Explore the iterator design pattern through a practical blog post reader implementation, iterating posts in a blog using a block collection and simple director logic.
Explore how the mediator design pattern coordinates communication, illustrating a chat mediator scenario where messages broadcast through a mediator reduce direct coupling.
Explore the memento design pattern concepts by saving and restoring object states to enable undo functionality and maintain state across operations in professional C# examples.
Explore dependency inversion in C# by decoupling message delivery with a messenger interface, enabling English or French implementations and ensuring high level logic stays independent of concrete messaging classes.
Creational Design Pattern
1. Simple Factory - Creation of object by using "CreateExam" Method for OnlineExam.
2. Factory Method - Creation of object by using ConcreteFactory subclasses for OnlineExam.
3. Abstract Factory - Creation of object for Window and Dialog with respect to different OS by using AbstractWidgetFactory.
4. Singleton - Generic example to understand the concepts, example of static initialization and double lock checking.
5. Prototype - Creation prototype object at run time for GeneralCustomer and PrevilegeCustomer.
6. Builder - Creation of object in series of steps by using Fluent Interface and Bank builder for BankAccount.
Structural Design Pattern
1. Adapter - Adapter used in between Mediaplayer and Mediapackage
2. Bridge - Example Used - Bridge used in between persistence mechanism and file types.
3. Composite - Example Used - HTML tree structure with parent and child element.
4. Decorator - Example Used - Decorating CarRacing application with stage progression.
5. Facade - FacadeReportGenerator for different type of DB.
6. Proxy - Example used for remote proxy, virtual proxy and protection proxy through restaurant application.
Behavioral Design Pattern
1. Chain of Responsibility - ATMWithdraw application for different denominator of Indian rupees.
2. Command - Calculator Application with redo and undo features.
3. Interpreter - Convert Roman number to number.
4. Iterator - Iterating posts of blog.
5. Mediator - ChatMediator for different category of users.
6. Memento - Savepoint with file contents so that go back to previous save point.
7. Observer - Notify all customers when product is available
Solid Principle
1. Checkpoint to see dirty code.
2. Should we give importance to Solid Principle.
3. Acronym of SOLID.
4. SRP Concetps with violation - Example Used : Loan Application
5. OCP : Used open and closed principle in Loan Application
6. LSP : Violation of LSP after adding Educational Loan to Loan Application.
7. ISP : Provide solution to LSP violation in the form of ISP.
8. DIP : Used English and French messenger to understand the concepts in Loan Application.