Was ist ein handle in der Software



  • Pellaeon: Jeder Zeiger ist ein Handle.



  • Eine Frage an dich: Wenn ich eine Arrayposition (also quasi den Primary-Key meines Arrays) als Handle bezeichnen würde. Wäre das dann in deinen Augen richtig?



  • junix schrieb:

    Eine Frage an dich: Wenn ich eine Arrayposition (also quasi den Primary-Key meines Arrays) als Handle bezeichnen würde. Wäre das dann in deinen Augen richtig?

    In meinen Augen nicht. Wenn ich den Key weis, kann ich zum Datenbanksystem sagen: "hey du, hol mir mal den Datensatz mit der ID ...", aber ich könnte nicht selber in der Datenbank direkt mir die Daten holen, ich brauche die Verwaltungszentrale, die das für mich erledigt.
    Wenn ich den Index in einem Array habe, kann ich jedoch direkt zur Information springen.

    Für mich liegt halt dort die Trennlinie: Beim Zeiger habe ich direkten Zugriff. Beim Handle ist dieser verwehrt, ich brauche irgendeine Zentrale, der ich sage, was ich mit wem machen will: "hey, SQL-Server, tu mal bei der Person mit der ID 25 das Alter zu 55 ändern", ich kann aber halt nicht direkt reingehen und das selber machen.

    Nuja ich glaube in den Thread hier kommen wir zu keiner 100% Übereinstimmung in unserer Meinung^^ Ist wohl wirklich auch mal wieder in Begriff, wo es verschiedene Ansichten gibt(zumindest im Detail) 🙂

    kann wer die Spinnerposts löschen???



  • Pellaeon schrieb:

    junix schrieb:

    Eine Frage an dich: Wenn ich eine Arrayposition (also quasi den Primary-Key meines Arrays) als Handle bezeichnen würde. Wäre das dann in deinen Augen richtig?

    In meinen Augen nicht. Wenn ich den Key weis, kann ich zum Datenbanksystem sagen: "hey du, hol mir mal den Datensatz mit der ID ...", aber ich könnte nicht selber in der Datenbank direkt mir die Daten holen, ich brauche die Verwaltungszentrale, die das für mich erledigt.
    Wenn ich den Index in einem Array habe, kann ich jedoch direkt zur Information springen.

    Wieso? Ich habe ja nicht davon gesprochen, dass dir das Array zugänglich ist. Ich habe nur gesagt, ich gebe die ID.

    Ich formuliere die Frage neu.
    Wenn ich dir aus einer Library als Ergebnis einer Aktion einen ArrayIndex für ein Array das nur innerhalb der Library zugreifbar ist zurückgeben würde. Dann wäre das doch eigentlich auch gemäss deiner Definition ein handle oder? Schliesslich hast du dann ja keine Ahnung wo im Speicher das Array liegt; Geschweige denn was die Zahl die ich dir gebe genau bedeuten soll?



  • In diesem Fall: ja, wäre ein Handle für mich



  • Gut. Dann sind wir uns in dem Punkt ja einig.

    Wenn ich jetzt von meinem Array sagen würde, ich als Library weiss, dass in den Arrayplätzen, die 1, 2 und 3 indexeinheiten höher liegen als die übergebene ID, jeweils noch zusatzinformationen zu dem Handle liegen, wäre das doch immernoch ein Handle, oder?



  • Pellaeon schrieb:

    Nuja ich glaube in den Thread hier kommen wir zu keiner 100% Übereinstimmung in unserer Meinung^^ Ist wohl wirklich auch mal wieder in Begriff, wo es verschiedene Ansichten gibt(zumindest im Detail)

    Wieso? Du bist der einzige der auf seine Unverständnis beharrt.

    Pellaeon schrieb:

    kann wer die Spinnerposts löschen???

    Ja, bin ich auch dafür. Dann dürfte von deinen Falschaussagen nichts mehr übrig bleiben. Es ist sinnlos mit dir zu diskutieren. Du erinnerst mich an diesen Power-Off, mit dem Unterschied, dass dieser mehr Ahnung hat.

    Der Begriff Handle ist nirgends stardardisiert.
    Und hierauf hast du auch verzichtet eine Aussage zu machen:

    typedef struct _TREEITEM *HTREEITEM;
    

    Und noch ein Tipp: lies mal Effektiv C++ Programmieren. Da ist in einem Kapitel ein Handle auch nichts anderes als ein Zeiger. Und wenn du meinst, dass Scott Meyer keiner Ahnung hat, disqualifizierst du dich als Diskussionspartner.



  • Die Zahl die man rausgibt wäre immer noch ein Handle, klar. Die Daten in dem Array, wie auch immer die aussehen, sind dann das, wo man den "Griff" drauf haben möchte.



  • Dann sind wir uns hier ja auch einig.

    Und was hindert mich jetzt daran, als Library, einfach die Startadresse eines Structs der die 4 bytes umfasst als "Handle" zurückzugeben?



  • junix schrieb:

    Dann sind wir uns hier ja auch einig.

    Und was hindert mich jetzt daran, als Library, einfach die Startadresse eines Structs der die 4 bytes umfasst als "Handle" zurückzugeben?

    Hindern tut dich daran nix. Wenn du es so machst: dann ja, ok, dann wäre das Handle was man rausgibt gleichzeitig ein Zeiger.
    Nur umgeht man damit das, wofür Handles doch eigentlich da sind: direkten Zugriff unterbinden. So gesehen ist das Handle-Konzept, zumindest was ich darunter verstehe, unterwandert(natürlich nur, wenn man auch weis, dass es in der Library ein Zeiger ist^^) 👍 :xmas1: :xmas2:

    not_another_kenner schrieb:

    Pellaeon schrieb:

    Nuja ich glaube in den Thread hier kommen wir zu keiner 100% Übereinstimmung in unserer Meinung^^ Ist wohl wirklich auch mal wieder in Begriff, wo es verschiedene Ansichten gibt(zumindest im Detail)

    Wieso? Du bist der einzige der auf seine Unverständnis beharrt.

    Ich verharre nicht auf Unverständnis, sonder auf meiner Meinung. Die wird einem wohl noch erlaubt sein.

    not_another_kenner schrieb:

    Pellaeon schrieb:

    kann wer die Spinnerposts löschen???

    Ja, bin ich auch dafür. Dann dürfte von deinen Falschaussagen nichts mehr übrig bleiben. Es ist sinnlos mit dir zu diskutieren. Du erinnerst mich an diesen Power-Off, mit dem Unterschied, dass dieser mehr Ahnung hat.

    Geh woanders trollen.
    Auf welche Post das bezogen war, dürfte jedem normaldenkenden klar sein. Ich denke nicht, dass junix meint, ich habe mich auf ihn bezogen. Extra für dich: ich meinte auch nicht junix, sondern Trollmops

    not_another_kenner schrieb:

    Der Begriff Handle ist nirgends stardardisiert.

    Hab weiter oben geschrieben, dass es zum Begriff u.U. verschiedene Auffassungen gibt.

    not_another_kenner schrieb:

    Und hierauf hast du auch verzichtet eine Aussage zu machen:

    typedef struct _TREEITEM *HTREEITEM;
    

    Hab weiter oben sinngenäß geschrieben, dass ein typdef, wo Handle im Namen vorkommt, noch lange kein Handle drauß macht.

    not_another_kenner schrieb:

    Und noch ein Tipp: lies mal Effektiv C++ Programmieren. Da ist in einem Kapitel ein Handle auch nichts anderes als ein Zeiger. Und wenn du meinst, dass Scott Meyer keiner Ahnung hat, disqualifizierst du dich als Diskussionspartner.

    Hab ich gelesen. Da gibts kein Kapitel zu Handles.
    Dagegen ist z.B. in "Gems I" eins über dieses Thema, dass solltest du vielleicht mal lesen.



  • Pellaeon schrieb:

    junix schrieb:

    Dann sind wir uns hier ja auch einig.
    Und was hindert mich jetzt daran, als Library, einfach die Startadresse eines Structs der die 4 bytes umfasst als "Handle" zurückzugeben?

    Hindern tut dich daran nix. Wenn du es so machst: dann ja, ok, dann wäre das Handle was man rausgibt gleichzeitig ein Zeiger.
    Nur umgeht man damit das, wofür Handles doch eigentlich da sind: direkten Zugriff unterbinden. So gesehen ist das Handle-Konzept, zumindest was ich darunter verstehe, unterwandert(natürlich nur, wenn man auch weis, dass es in der Library ein Zeiger ist^^) 👍 :xmas1: :xmas2:

    Wieso? Ich muss es ja nicht nach aussen bekannt machen, was da alles steht... Insofern ist Information-Hiding nach wie vor gewährleistet.

    Ich wollte aber eigentlich auf was anderes raus:

    Wenn ich jetzt nämlch das Array "RAM" nenne, die Bibliothek "Speicherverwaltung des Betriebssystems" und das Handle "Zeiger", hätte ich exakt die oben erwähnte Situation, wo ein Zeiger auch nichts weiter als ein Handle, bzw. die Adresse nichts weiter als der Primärschlüssel ist.



  • Pellaeon schrieb:

    Geh woanders trollen.
    Auf welche Post das bezogen war, dürfte jedem normaldenkenden klar sein. Ich denke nicht, dass junix meint, ich habe mich auf ihn bezogen. Extra für dich: ich meinte auch nicht junix, sondern Trollmops

    Mir egal auf wen du dich beziehst. Deine Posts haben für mich auch etwas Spinnerhaftes, deshalb meine Aussage.

    Pellaeon schrieb:

    Hab weiter oben geschrieben, dass es zum Begriff u.U. verschiedene Auffassungen gibt.

    Eben. Liegt vielleicht daran, dass es ein abstrakter Begriff ist. Du weisst was abstrakt bedeutet?

    Pellaeon schrieb:

    Hab weiter oben sinngenäß geschrieben, dass ein typdef, wo Handle im Namen vorkommt, noch lange kein Handle drauß macht.

    Bestimmst du das? Welche Gültigkeit hat deine Aussage für einen abstrakten Begriff? Vielleicht solltest du auf Wikipedia doch mal das Wort abstrakt nachschlagen. Aber vielleicht findest du, dass der Artikel nicht gut ist, wie der Artikel zum Thema Handle und stellst deine eigene Definition des Wortes abstrakt auf.

    Vielleicht liest du dir nochmal auf Seite 2 dieses Threads das Posting von "yet_another_kenner" durch.

    Pellaeon schrieb:

    Hab ich gelesen. Da gibts kein Kapitel zu Handles.

    Ja gelesen, aber wahrscheinlich nur die Hälfte:

    Scott Meyers schrieb:

    Kapitel 5.3: Tipp 28 Geben Sie keine "Handles" für interne Daten eines Objektes zurück

    Oder schau einfach mal in das Inhaltsverzeichnis



  • lol. eure schmerzen möcht ich nicht haben 👎


Anmelden zum Antworten