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 5. Jan 2017
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13: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.395 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13: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
 
#3

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13: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 himitsu
himitsu

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

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13: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.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Jan 2017 um 13:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:39
Da OOP ginge es ja eher in Richtung 1.

Aber es kommt immer darauf an, ob und wie man seine "Methoden" logisch und funktional zusammenfasst.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:51
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.
Wie genau meinst du das?

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.
Ich glaube genau das war sogar der Grund, weshalb ich #1 überall verwende. Vorher musste ich immer für jede Unit eine Instanzenvariable anlegen. Das ging mir irgendwann auf die Nerven.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 13:56
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.
Wie genau meinst du das?
Ohne static wird den Methoden ein versteckter Self Parameter übergeben, welcher die aktuelle Objektinszanz beinhaltet (bzw. einen Zeiger auf die TClass, sofern es sich um eine Class-Method handelt). Das ist natürlich relativ witzlos, wenn man den record eh nur als Namespace benutzt und nichtmal instanziiert.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#8

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:04
Im Beispiel #1 haben die Methoden doch static
Delphi-Quellcode:
type
 TTestUnit = record
 private
 public
  class procedure TestProzedur(const AParam: string); static;
 end;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Unit-Design - was bevorzugt ihr?

  Alt 3. Jan 2017, 14:20
Ist Euch eigentlich aufgefallen, das Ihr nicht über "Unit-Design" sondern über die Anwendung von Records contra Classes diskutiert?
Beides hat seine Berechtigung und ich setze jeweils das ein was mir besser in den Kram passt. Und das schließt eine spätere Änderung nicht aus.

Da gibt es kein entweder oder.
(und ich habe noch jede Menge Units, die einfach nur Funktionssammlungen sind. Solange die vernünftig arbeiten, werde ich da nichts ändern.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz