Explore tens of thousands of sets crafted by our community.
User Interface Design Patterns
25
Flashcards
0/25
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.
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.
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.
Decorator Pattern
Attaches additional responsibilities to an object dynamically. It provides a flexible alternative to subclassing for extending functionality.
Composite Pattern
Composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions uniformly.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
State Pattern
Allows an object to alter its behavior when its internal state changes. The object will appear to change its class.
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.
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.
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.
© Hypatia.Tech. 2024 All rights reserved.