Instanzen, die über einen Schlüssel aus einem Verzeichnis geliefert werden (ja, das beschreibt das Flyweight-Pattern sehr treffend)
Überhaupt nicht
Das herausragende Merkmal von Flyweight ist, das Operationen von außen ein einen (geteilten) Zustand oder Kontext bekommen. Dieser Zustand kann ein Verzeichnis sein, kann aber auch irgendetwas völlig anderes sein.
Geht das in die richtige Richtung?
Das beseitigt zumindest den wiederholten Code, allerdings wird es bei gleichem Namen auch unterschiedliche Instanzen geben. z.B. 'Strings' könnte mehrfach in der Combobox auftauchen.