Live briefing
Everything about Flyweight pattern
Software design pattern for objects
In computer programming, the flyweight software design pattern refers to an object that minimizes memory usage by sharing some of its data with other similar objects. The flyweight pattern is one of twenty-three GoF design patterns. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Flyweight patternA 5-minute orientation
- Pick up a classic book: Design PatternsThe most-reprinted book on the subject
- Read the landmark paper: Removing duplicated geometries in IFC models using rigid body transformation estimation and flyweight design patternCited 9 times
- Go sideways: Decorator patternA closely related topic
- Go sideways: Variadic templateA closely related topic
đź“– Definitions
Noun A structural design pattern in which an object contains no pointers to data type methods.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
Design PatternsErich Gamma, John Vlissides · 1995
Program development in JavaBarbara Liskov, John Guttag · 2000
Understanding object-oriented programming with JavaTimothy Budd · 1998
Learning JavaScript Design PatternAddy Osmani · 2012
Object-oriented software engineering : an agile unified methodologyDavid C. Kung · 2014
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Decorator pattern In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object dynamically, without…
- Variadic template In computer programming, variadic templates or variation generics are templates that take a variable number of type parameters. They exist in several programmin…
- Lazy initialization In computer programming, lazy initialization is the tactic of delaying the creation of an object, the calculation of a value, or some other expensive process…
- Dependency injection In software engineering, dependency injection is a programming technique in which an object or function receives other objects or functions that it requires…
- Template (C++) Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class…
- Mixin In object-oriented programming languages, a mixin (or mix-in) is a class that contains methods for use by other classes without having to be the parent…
- Bridge pattern The bridge pattern is a design pattern used in software engineering that is meant to "decouple an abstraction from its implementation so that the two can…
- Higher-order function In mathematics and computer science, a higher-order function (HOF) is a function that does at least one of the following: takes one or more functions as…