AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unit-Design - was bevorzugt ihr?

Ein Thema von a.def · begonnen am 3. Jan 2017 · letzter Beitrag vom 6. Jan 2017
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
a.def
(Gast)

n/a Beiträge
 
#1

Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:33
Ich habe mal in einem Forum eine Art und Weis gesehen eine Unit anzulegen, die mir noch immer zu denken gibt. Ich bin mir nicht mehr sicher ob das in diesem Forum war oder woanders.
Die Suche hilft mir da nicht weiter. Im Grunde war es eine Unit wie die erste.
Welche bevorzugt ihr?

#1
Delphi-Quellcode:
unit uTest;

interface

// uses ;

type
 TTestUnit = record
 private
 public
  class procedure TestProzedur(const AParam: string); static;
 end;

implementation

// uses ;

class procedure TTestUnit.TestProzedur(const AParam: string);
begin
 // do some stuff
end;

end.

// Aufruf: TTestUnit.TestProzedur('123');
oder eher #2
Delphi-Quellcode:
unit uTest;

interface

// uses ;

procedure TestProzedur(const AParam: string);

implementation

// uses ;

procedure TestProzedur(const AParam: string);
begin
 // do some stuff
end;

end.

// Aufruf: uTest.TestProzedur('123');

Geändert von a.def ( 3. Jan 2017 um 14:25 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:51
Lieber Nr. 1.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.456 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:53
Weder noch.
Globale Methoden werden kaum besser wenn man sie in einen record packt.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#4

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:00
Interessant. Ich hätte eigentlich gedacht, dass #1 total gehasst wird.
Ich persönlich mag vom Code her eher #1. Aber wenns um Änderungen geht ist #2 besser, da hier weniger zu ändern ist.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:17
Interessant. Ich hätte eigentlich gedacht, dass #1 total gehasst wird.
ein klein wenig dünnes Eis? bei der geringen Datenmenge eine solche Schlussfolgerung?

Aber wenns um Änderungen geht ist #2 besser, da hier weniger zu ändern ist.
aha.. inwiefern ist da weniger zu ändern wenn Änderungen anstehen (z.B. ein weiterer Parameter kommt dazu)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:24
Interessant. Ich hätte eigentlich gedacht, dass #1 total gehasst wird.
ein klein wenig dünnes Eis? bei der geringen Datenmenge eine solche Schlussfolgerung?
Hast ja recht aber 1 ist mehr als 0

Aber wenns um Änderungen geht ist #2 besser, da hier weniger zu ändern ist.
aha.. inwiefern ist da weniger zu ändern wenn Änderungen anstehen (z.B. ein weiterer Parameter kommt dazu)
Ich meinte (aber schrieb es nicht) eigentlich das Hinzufügen von Prozeduren.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:30
Weder noch.
Globale Methoden werden kaum besser wenn man sie in einen record packt.
Stellst du damit den Sinn globaler Methoden bzw. Klassenmethoden generell in Frage? Ich finde, die haben schon ihren Einsatzbereich immer da, wo keine Instanz für die Funktion notwendig ist. Im Gegenteil würde ich es als äußerst störend und überflüssig finden, wenn jedesmal für den Aufruf eine Instanz erstellt und wieder freigegeben werden müsste.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:36
.. wenn Du #1 verwendest kannst Du im Source(in dem die Unit verwendet wird) codecompletion verwenden.
Bei #2 nicht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:37
Ich glaube freimatz meinte, dass TTestUnit ein record und keine class ist. Wobei das in diesem speziellen Fall keinen Unterschied machen dürfte.
Ich persönlich bevorzuge auch die Variante #1 (aber eher als class).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:37
Statt Record eine Class Abstract oder Class Sealed macht von der "Verwendung" her keinen großen Unterschied.

Der "Unterschied" ist nur in Bezug auf Vererbung und die RTTI bezogen.
Aber ich würde bei Records auf jeden Fall noch static mit angeben, um den "unsichtbaren" Self-Parameter loszuwerden, da Self ohne Vererbung keinen Sinn macht.

Ich verwende auch gern Record statt Class, da dort der RTTI-Overhead einen Hauch geringer ist, aber im Prinzip kann es jeder machen wie er will.
Record verwende ich quasi so ähnlich wie den "Namespace" in anderen Sprachen.
$2B or not $2B

Geändert von himitsu ( 3. Jan 2017 um 14:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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