Die GeoFaSC-Bibliothek ist die Umsetzung des GeoFaSC-Konzeptes als didaktisches Programmierwerkzeug in Java. Die Bibliothek stellt, aufbauend auf Swing und ihrem Komponentenansatz, die Figuren-Klassen 1)
wie Komponenten für grafische Benutzeroberflächen bereit.
Auch wenn die Menge der bereitgestellten Figuren zunächst sehr überschaubar erscheint, lassen sich durch ihre Komposition untereinander komplexe (=zusammengesetzte) Figuren erzeugen.
Die Erzeugung einer komplexen Figur (z.B. für die Ampel die drei Lampen in einem Rechteck) oder Komponente (z.B. ein JLabel in einer Figur zur Beschriftung derselben) wird einfach durch Schachtelung einer Figur mit einer Figur bzw. einer Figur mit einer Komponente in beliebiger Tiefe erreicht. Alle Anforderungen des Konzeptes sind mit dieser Bibliothek realisiert.
GeoFaSC-Figuren sind nach dem in Swing üblichen Architekturmuster Model-UI2)-Component (als Abwandlung des Entwurfsmusters Model-View-Controller) implementiert und trennen so die Zuständigkeiten Datenmodell, Präsentation und Programmsteuerung. Die folgende Abbildung zeigt einen Ausschnitt des Klassendiagramms von GeoFaSC.
Die Figuren sind über ihre UI-Klassen selbst verantwortlich, sich zu zeichnen. Änderungen auf ihnen führen zum automatischen Neuzeichnen. Das Zeichnen wird also gekapselt und liegt nicht zwingend in der Zuständigkeit des Programmierers. Dies stellt offensichtlich eine Maßnahme gegen Problematik 2 dar. Durch die Entlastung des lernenden Programmierers vom Zeichnen, kann dieser die Problemlösung besser fokussieren und auch die Quelltexte sind besser lesbar.
Dennoch können zur Laufzeit Modell und Präsentation einer Figur bei Bedarf ausgetauscht werden. Damit besteht nach wie vor die Möglichkeit, die volle Kontrolle über das Zeichnen einer Figur zu erlangen. Erfordernisse hierfür sind beispielsweise das Zeichnen einer dickeren Linie oder die Notwendigkeit eines spezielleren Figurenmodells.