Logo
Pattern

Discover published sets by community

Explore tens of thousands of sets crafted by our community.

User Interface Design Patterns

25

Flashcards

0/25

Still learning
StarStarStarStar

Adapter Pattern

StarStarStarStar

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.

StarStarStarStar

Prototype Pattern

StarStarStarStar

Creates new objects by copying an existing object, known as the prototype. Useful when object creation is more expensive than cloning.

StarStarStarStar

Builder Pattern

StarStarStarStar

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.

StarStarStarStar

Chain of Responsibility Pattern

StarStarStarStar

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.

StarStarStarStar

Memento Pattern

StarStarStarStar

Without violating encapsulation, captures and externalizes an object's internal state so that the object can be restored to this state later.

StarStarStarStar

Decorator Pattern

StarStarStarStar

Attaches additional responsibilities to an object dynamically. It provides a flexible alternative to subclassing for extending functionality.

StarStarStarStar

Composite Pattern

StarStarStarStar

Composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions uniformly.

StarStarStarStar

Singleton Pattern

StarStarStarStar

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.

StarStarStarStar

Factory Method Pattern

StarStarStarStar

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.

StarStarStarStar

Proxy Pattern

StarStarStarStar

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.

StarStarStarStar

Observer Pattern

StarStarStarStar

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.

StarStarStarStar

Iterator Pattern

StarStarStarStar

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.

StarStarStarStar

Facade Pattern

StarStarStarStar

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.

StarStarStarStar

Command Pattern

StarStarStarStar

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.

StarStarStarStar

Bridge Pattern

StarStarStarStar

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.

StarStarStarStar

Flyweight Pattern

StarStarStarStar

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.

StarStarStarStar

MVVM Pattern

StarStarStarStar

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).

StarStarStarStar

Mediator Pattern

StarStarStarStar

Defines an object that encapsulates how a set of objects interact. It promotes loose coupling by keeping objects from referring to each other explicitly.

StarStarStarStar

Lazy Loading Pattern

StarStarStarStar

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.

StarStarStarStar

Strategy Pattern

StarStarStarStar

Defines a family of algorithms, encapsulates each one, and makes them interchangeable. It lets the algorithm vary independently from the clients that use it.

StarStarStarStar

State Pattern

StarStarStarStar

Allows an object to alter its behavior when its internal state changes. The object will appear to change its class.

StarStarStarStar

Visitor Pattern

StarStarStarStar

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.

StarStarStarStar

Abstract Factory Pattern

StarStarStarStar

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.

StarStarStarStar

MVC Pattern

StarStarStarStar

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.

StarStarStarStar

Template Method Pattern

StarStarStarStar

Defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure.

Know
0
Still learning
Click to flip
Know
0
Logo

© Hypatia.Tech. 2024 All rights reserved.