Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Spring4D Namensgebung TList<> u.a. (https://www.delphipraxis.net/196147-spring4d-namensgebung-tlist-u.html)

freimatz 26. Apr 2018 11:52

Spring4D Namensgebung TList<> u.a.
 
Hallo,
ich a) hoffe bin hier richtig und b) sorry für den Titel.

Also es geht um Spring4D da gibt es z.B. ein IList<T> was von einem TList<T> implementiert wird. Super.
Damit kann ich z.B. dann machen IStringList = IList<String> und TStringList = TList<String>.
Dummerweise gibt es ja Tist und TStringList bereits. Es hängt dann ggf. von der Reihenfolge der units bei uses ab welche benutzt wird. Leider kann ich auf die alten nicht ganz verzichten
a) wegen Legacy code und
b) wegen der VCL wo z.B. bei einer TListBox eine TStrings verwendet wird.

Wie macht Ihr das dann? Verwendet Ihr andere Namen? Welche?

Sherlock 26. Apr 2018 11:53

AW: Spring4D Namensgebung TList<> u.a.
 
Setzen Den Firmennamen rein, oder den Namen Deines Haustiers oder, oder, oder. Besonders phantasievoll aber effizient:
Delphi-Quellcode:
TMyStringList

Sherlock

Dawn87 26. Apr 2018 11:58

AW: Spring4D Namensgebung TList<> u.a.
 
Hallo,

was steckt denn tatsächlich in Deiner Liste drin? Sind es z.B. Ortsnamen dann könnte man ja einen Typ den Namen "TLocationList" o.Ä. geben. Sich an der Domäne zu orientieren bewährt sich eigentlich in der Regel. Dies ergibt einen Vorteil, falls Dein "Ort" irgendwann nicht mehr nur ein String ist sondern sich zu einem komplexen Typen entwickelt.

Falls das in Deinem Kontext wenig Sinn ergeben sollte, könnte man auch noch auf "TGenericStringList" zurückgreifen.

Grüße
Stefan

freimatz 26. Apr 2018 13:49

AW: Spring4D Namensgebung TList<> u.a.
 
Danke Euch beiden.
Ja das Problem ist ja relativ entschärft wenn ich konsequent statt String das konkrete nehme. Nur manchmal ist mir das zu doof.
Statt TMyStringList müsste das bei uns dann TOurStringList heißen :wink:
Vielleicht nehme ich dann T4DStringList.
Und das TLists<> selber kann man ja im Notfall voll qualifiziert angeben.
Also alles gut. :)

Stevie 27. Apr 2018 08:13

AW: Spring4D Namensgebung TList<> u.a.
 
Wenn du Spring4D collections nutzt, musst du eigentlich nur Spring.Collections einbinden und kommst somit gar nicht mit den Klassen in Berührung. Alle collections sollten über TCollections.Create... erzeugt werden.

freimatz 27. Apr 2018 11:36

AW: Spring4D Namensgebung TList<> u.a.
 
Aha. Danke.
Gibts da eine Doku dazu? Ich habe bislang nichts dazu gefunden.
Andererseits, wenn ich einen Typ ableiten will dann benötige ich doch den Typ trotzdem - oder?
Delphi-Quellcode:
type
  ITrajectoryElements = interface(IList<ITrajectoryElement>)
    ['{51D2977E-8EDB-4943-8AD3-6720E795634C}']
  end;
procedure xyz();
var
  x: ITrajectoryElements;
begin
  x := TCollections.CreateList<ITrajectoryElement>();
  //[dcc32 Error] E2010 Incompatible types: 'ITrajectoryElements' and 'Spring.Collections.IList<...ITrajectoryElement>'
end;

Stevie 27. Apr 2018 12:53

AW: Spring4D Namensgebung TList<> u.a.
 
Zitat:

Zitat von freimatz (Beitrag 1400743)
Gibts da eine Doku dazu? Ich habe bislang nichts dazu gefunden.

Spring4D Dokumentation verfügt zurzeit über keine zusätzlichen Informationen. Bitte unterstützen Sie uns bei der Dokumentation dieses Themas, indem Sie Ihre Kommentare auf der Diskussionsseite eingeben. :mrgreen: Ok, Spaß beiseite, wir sind gerade dabei, die Dokumentation zu erweitern/erstellen.

Zitat:

Zitat von freimatz (Beitrag 1400743)
Andererseits, wenn ich einen Typ ableiten will dann benötige ich doch den Typ trotzdem - oder?

Ableiten ja, aber davon war in dem Topic bisher nicht die Rede, sondern es wurden nur Type Aliases erstellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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