Diese Forderung wird häufig gestellt, um eine Änderung von Werten, "die einen nichts angehen" zu vermeiden und entspricht dem in der
OOP propagierten
Geheimnisprinzip, obwohl der Gedanke, "nach außen" nur Schnittstellen zu veröffentlichen, nicht neu ist.
Aus
einem der ersten Google-Treffer zitiere ich
Zitat:
[..] Das Geheimnisprinzip bietet den Vorteil, dass bei einer Änderung der internen Struktur nur die eine Klasse/das Modul modifiziert werden muss, die Schnittstelle bleibt bestehen, weshalb andere Klassen und Module nicht angepasst werden müssen. Dies führt zu einer besseren Wartbarkeit und Wiederverwendbarkeit des Codes.
Das Geheimnisprinzip ist ein wichtiges Konzept in der Objektorientierung.
(Anm: mit "Modul" ist im Delphi-Kontext "
Unit" gemeint.)
Alle weiteren Dinge wie
Vorbedingung,
Nachbedingung,
Wartberkeit (durch Übersichtlichkeit) etc., die durch unsachgemäßen Einsatz von globalen Variablen schwer sicherzustellen sind, ergeben sich aus dem Geheimnisprinzip (und dem oft in diesem Zusammenhang verwendeten prinzip der Zuständigkeit oder
kohärenz (oop)), weshalb ich an dieser Stelle nicht weiter darauf eingehen möchte.