Flyweight (pl. Pyłek) – wzorzec projektowy należący do grupy wzorców strukturalnych.
Polega on na budowaniu większych obiektów z wielu mniejszych elementów, które mogą być współdzielone między różnymi obiektami. Kiedy tworzony jest nowy obiekt, przeszukiwana jest pamięć struktury tworzonej przez pyłek. Jeżeli w pamięci istnieje już obiekt o tych samych parametrach, to zamiast tworzyć kolejny, przypisuje się nowy obiekt do tego już istniejącego. Jeżeli taki obiekt jeszcze nie istnieje w puli, tworzona jest jego instancja, dzięki czemu tworzone są unikatowe obiekty, zamiast całej masy podobnych, jak nie identycznych, obiektów.
Flyweight minimalizuje zużycie pamięci przez udostępnianie jak największej ilości danych innym podobnym obiektom. Jest to sposób na użycie obiektów w dużych ilościach.
Przykładem wykorzystania tego wzorca jest internowanie stringów (String Pool).
