Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie heißt dieses Pattern? (https://www.delphipraxis.net/208581-wie-heisst-dieses-pattern.html)

Der schöne Günther 20. Aug 2021 15:18


Wie heißt dieses Pattern?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ganz dumme Frage.

Ich habe folgenden Anwendungsfall:

Es gibt eine Instanz die hat nur zwei Getter, nennen wir sie
Delphi-Quellcode:
getA()
und
Delphi-Quellcode:
getB()
.

Ich möchte jetzt einen Proxy dazwischenschalten, der soll für
Delphi-Quellcode:
A
immer das gleiche liefern wie das Originalobjekt, für
Delphi-Quellcode:
B
entweder das gleiche, oder einen zwischengespeicherten Zustand.
Dazu müsste er noch etwas mitbringen wie
Delphi-Quellcode:
setIsBCached(const isCached: Boolean)
oder so.

Verstanden?

Ich habe die ganze Zeit das Gefühl dass es einen Namen für so etwas gibt, komme aber nicht drauf...

Update:
Ich habe nochmal ein kleines Diagramm angehangen:
Anhang 54264

Uwe Raabe 20. Aug 2021 15:29

AW: Wie heißt dieses Pattern?
 
Decorator?
Zitat:

Define Decorator objects that
  • implement the interface of the extended (decorated) object (Component) transparently by forwarding all requests to it
  • perform additional functionality before/after forwarding a request.


Der schöne Günther 20. Aug 2021 15:33

AW: Wie heißt dieses Pattern?
 
Hm ja, an sich ist das ganz klar ein Decorator, aber Decorator ist im Endeffekt ja beliebig was er eigentlich hinzufügt (in dem Fall das ein/ausschaltbare Cachen).

Ich dachte halt vielleicht gibt es einen Namen für dieses "Dazwischenschalten und entweder gibt's den originalen Wert oder etwas zwischengepuffertes". Dafür suche ich halt einen Namen.

PS: Ich habe nochmal ein kleines Klassendiagramm angehangen.

Uwe Raabe 20. Aug 2021 15:46

AW: Wie heißt dieses Pattern?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1493773)
vielleicht gibt es einen Namen für dieses "Dazwischenschalten und entweder gibt's den originalen Wert oder etwas zwischengepuffertes". Dafür suche ich halt einen Namen.

Das ist für ein Pattern schon ein sehr spezielles Verhalten, was eher auf die Implementierung hinweist. Ein allgemeiner Ausdruck ist wohl Cache, aber selbst dafür ist das Verhalten noch sehr speziell. Beim Cache-Aside Pattern ist ganz klar vorgegeben, wann etwas aus dem Cache geholt wird, nämlich wenn es dort nicht existiert.

Ich würde das nicht als Pattern sehen, sondern ganz einfach als Implementierung eines Decorator-Patterns (Facade ginge wohl auch).

freimatz 21. Aug 2021 16:06

AW: Wie heißt dieses Pattern?
 
Wie wärs mit "Proxy"? Hast Du ja selber auch schon genannt. Ich gebe aber zu mir sind die Unterschiede zwischen Decorator, Facade und Proxy auch nicht so ganz klar.

Ghostwalker 24. Aug 2021 14:04

AW: Wie heißt dieses Pattern?
 
Hatte der Chef für sowas nicht einen recht allgemeinen Treffenden Namen ?

Ah ja...."Wupti".

Warum also nicht einfach Wupti-Pattern ? :lol:

Aber Spaß bei Seite. Wichtig ist zu aller erst mal, das du verstehst, was mit dem Begriff gemeint ist. Als zweites müssen die Kollegen wissen was gemeint ist. Und wenn man hier
grad nicht den passenden Begriff hat, umschreibt man einfach kurz, was das Teil macht.

Blup 24. Aug 2021 15:30

AW: Wie heißt dieses Pattern?
 
Facade
- Stellvertreter der den Zugriff auf ein komplexes Objekt oder Objektstruktur vereinfacht
- schränkt dabei die Ansicht ein

Proxy
- Stellvertreter der das Verhalten des Orginals im wesentlichen unverändert weiter gibt

Decorator
- Stellvertreter der zusätzliches oder alternatives Verhalten hinzufügt

Entwurfsmuster sind für den Entwurf der Anwendung gedacht.
Wenn man für ein einzelnes Problem einen erprobten Lösungsweg sucht.
Der fertigen Anwendungsstruktur irgendwelche Entwurfsmuster zuzuordnen, bringt nicht viel.
Wenn wirklich alle Beteiligten wissen was gemeint ist, kann man so höchstens die Beschreibung kürzen.

Der schöne Günther 24. Aug 2021 15:44

AW: Wie heißt dieses Pattern?
 
Danke, ich kenne das alles, ja.

Und nein, ich suche keine Buzzwords raus und versuche danach eine Anwendung zusammenzupuzzeln.

Mir ging es, wie richtig erkannt, um einen Namen bei dem möglichst jeder direkt versteht was Ding macht ohne den Mauszeiger drüberhalten zu müssen damit die Doku eingeblendet wird. :wiejetzt:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz