Ich habe da eine Design-Frage. Wenn ich in einem Programm eine Collektion, z.B. eine Liste programmiert habe, dann habe ich die Liste als private-Variable angelegt und die Funktionen zum Erstellen, Löschen, Lesen und Verändern der Elemente( CRUD) als Funktionen, die als Parameter dann die Listenobjekte haben. Beim Lesen verschiedener Beispielprogramme habe ich nun gesehen, dass auch die Liste selbst als Parameter solcher Funktionen benutzt wird, z.B: "public ObjList getList();" oder void setList(ObjList list)". Ich finde, dass dabei die Manipulation der Liste außerhalb des Listenobjektes stattfindet, und habe bisher geglaubt das das dem Prinzip der Kapselung der Funktion widerspricht. Kann mir jemand helfen, das Dilemma aufzulösen?