Explore tens of thousands of sets crafted by our community.
User Interface Design Patterns
25
Flashcards
0/25
Command Pattern
An object is used to encapsulate all information needed to perform an action or trigger an event at a later time. Common in menu systems and toolbar buttons in software.
Observer Pattern
Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. Commonly used for event handling systems.
Singleton Pattern
Ensures a class has only one instance and provides a global point of access to it. Commonly used in managing a connection to a database or a file system.
Factory Method Pattern
Defines an interface for creating an object, but lets classes that implement the interface decide which class to instantiate. Commonly used in frameworks and libraries to provide extension points for users.
Prototype Pattern
Creates new objects by copying an existing object, known as the prototype. Useful when object creation is more expensive than cloning.
Builder Pattern
Separates the construction of a complex object from its representation so that the same construction process can create different representations. Commonly used in creating complex objects with multiple parts.
Adapter Pattern
Allows the interface of an existing class to be used as another interface. It is often used to make existing classes work with others without modifying their source code.
Decorator Pattern
Attaches additional responsibilities to an object dynamically. It provides a flexible alternative to subclassing for extending functionality.
Iterator Pattern
Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation. Commonly used in collections to traverse without exposing internals.
Composite Pattern
Composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions uniformly.
Facade Pattern
Provides a unified interface to a set of interfaces in a subsystem. It defines a higher-level interface that makes the subsystem easier to use.
Proxy Pattern
Provides a surrogate or placeholder for another object to control access to it. Commonly used in controlling access to remote objects, expensive creations, or sensitive components.
Chain of Responsibility Pattern
Passes a request along a chain of handlers. Upon receiving a request, each handler decides either to process the request or to pass it to the next handler in the chain.
Memento Pattern
Without violating encapsulation, captures and externalizes an object's internal state so that the object can be restored to this state later.
State Pattern
Allows an object to alter its behavior when its internal state changes. The object will appear to change its class.
Strategy Pattern
Defines a family of algorithms, encapsulates each one, and makes them interchangeable. It lets the algorithm vary independently from the clients that use it.
Template Method Pattern
Defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure.
MVC Pattern
Separates an application into three components: Model, View, and Controller. It decouples data access, user interface, and application logic to allow independent development, testing, and maintenance.
MVVM Pattern
Model-View-ViewModel pattern supports a separation of development of the graphical user interface from the development of the business logic or back-end logic (the data model).
Flyweight Pattern
Uses sharing to support a large number of fine-grained objects efficiently. It's used to minimize memory usage or computational expenses by sharing as much as possible with similar objects.
Mediator Pattern
Defines an object that encapsulates how a set of objects interact. It promotes loose coupling by keeping objects from referring to each other explicitly.
Bridge Pattern
Decouples an abstraction from its implementation so that the two can vary independently. It's used to hide the implementation details from the client through an abstraction layer.
Visitor Pattern
Represents an operation to be performed on elements of an object structure, letting you define a new operation without changing the classes of the elements on which it operates.
Abstract Factory Pattern
Provides an interface for creating families of related or dependent objects without specifying their concrete classes. This pattern is designed to be used with a set of interrelated products.
Lazy Loading Pattern
Defers the initialization of an object until the point at which it is needed. It can improve efficiency and reduce the memory footprint of program execution.
© Hypatia.Tech. 2024 All rights reserved.