educative.io

Software Design Patterns: Best Practices for Software Developers (C. H. Afzal)


Creational Patterns - Singleton Pattern This lesson discusses how the Singleton pattern enforces only a single instance of a class to ever get produced and exist throughout an application’s lifetime. Structural Patterns - Adapter Pattern Adapter pattern is similar to how an electrical adapter lets your laptop work both in the US or UK even though voltages are different. Structural Patterns - Decorator Pattern This lesson discusses how objects can be enhanced with new behavior using the decorator pattern. Structural Patterns - Proxy Pattern This lesson discusses how objects can act on behalf of other objects without the clients knowing they aren’t talking to the intended object. Behavioral Patterns - Chain of Responsibility Pattern This lesson discusses how a request can travel down a chain of handlers till an appropriate handler is found. Behavioral Patterns - Command Pattern This lesson discusses how actions and requests can be encapsulated as objects to act as callbacks and in the process allow logging, queueing and undo of commands. Behavioral Patterns - Mediator Pattern This lesson discusses how the mediator pattern centralizes interaction amongst a number of interacting objects reducing coupling and dependence among them. Creational Patterns - Builder Pattern This lesson discusses how complex objects can be represented and constructed without coupling the two operations. Creational Patterns - Abstract Factory Pattern This lesson details the working of yet another creational design pattern, that allows us to create a family of products in a flexible and extensible manner. Structural Patterns - Composite Pattern This lesson discusses the composite pattern that lets us treat individual elements and group of elements as one. Behavioral Patterns - Interpreter Pattern This lesson delves into the interpreter pattern, which allows us to simplify representation and implementation of a new programming language albeit with limited syntax. Behavioral Patterns - Strategy Pattern This lesson discusses how a set of policies, algorithms or strategies can be made interchangeable without affecting the clients using them. Start - Types of Design Patterns This lesson lists the most used and familiar design patterns Creational Patterns - Prototype Pattern This lesson discusses how new objects can be created from existing objects using the prototype pattern. Structural Patterns - Bridge Pattern This lesson discusses how parallel class hierarchies or layers can be decoupled from one another using the bridge pattern. Structural Patterns - Facade Pattern This lesson discusses how the interface to a complex system of interacting entities can be simplified by providing a front that hides the subsystem intricacies from the client. Behavioral Patterns - Observer Pattern This lesson discusses how updates from an object of interest can be communicated efficiently to interested parties using the observer pattern. Structural Patterns - Flyweight This lesson discusses how the flyweight pattern can be applied to reduce memory requirements. Behavioral Patterns - Iterator Pattern This lesson discusses how the underlying elements that make up an aggregate object can be looped through without exposing implementation details to clients. Behavioral Patterns - Memento Pattern This lesson discusses how the state of an object can be exported as a snapshot without exposing the internals of the object. Behavioral Patterns - Visitor Pattern This lesson discusses the visitor pattern which adds new behavior to composites without modifying the composite’s or it’s underlying elements’ classes. Behavioral Patterns - State Pattern This lesson discusses how an object exhibits very different behavior and appears to be an instance of a different class when its internal state changes under the state pattern. The End - Epilogue Closing remarks Start - Introduction This lesson lays down the groundwork for understanding design patterns Creational Patterns - Factory Method Pattern This lesson discusses how derived classes can be given the responsibility of creating appropriate objects. Behavioral Patterns - Template Method This lesson discusses how algorithms with multiple steps can be made configurable by allowing subclasses to provide behavior for some of the steps. The End - Summary Have questions about Summary? Go for it!
About the Software Design Patterns: Best Practices for Software Developers (C. H. Afzal) category [Software Design Patterns: Best Practices for Software Developers (C. H. Afzal)] (1)
AircraftBuilder [Software Design Patterns: Best Practices for Software Developers (C. H. Afzal)] (4)