... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sample-Sourcen ?
#10
Hallo Christian,

zuerst mal ein gutes neues Jahr.

Deine Einschätzung ist richtig. Das Hauptproblem ist ja, dass man für den Unittest nur einen kleinen Teil davon braucht. Und das ist nur der Datenteil. Alles, was mit der Swing-Anwendung selbst zu tun hat, das braucht man eigentlich nicht. Die Trennung ginge etwas Richtung MVC-Pattern. Und den reinen Datenteil im Test hochzufahren, geht vermutlich einfacher.

Allerdings würde ich das bei uns in der Firma auch nicht als gutes Design durchgehen lassen (wegen der komplexen Singletons). Das eigentliche Problem ist, dass die statischen Methoden in PositionHelper auf das aktuelle Singleton durchgreifen. Und da kann man nicht einfach was anderes setzen.

Was man da auch machen könnte ist, dass man den PositionHelper in ein Singleton oder sogar zu einer ganz normalen Klasse umwandelt und dann keine statischen Methoden mehr hat. In Klassen, die den benutzen wolle, die können den PositionHelper sich im Konstruktor bestimmen bzw. erzeugen und benutzen bei den Aufrufen dann diese Instanz. Gleichzeitig gibt es zusätzliche Konstruktoren für die Unittests, bei dem man den PositionHelper auch von aussen vorgeben kann bzw. die benötigten Modelle alternativ vorgeben kann.

Hier könnte man auch ein Interface definieren, die die RouteConverter-Klasse implementiert. Beim Test gibt man dann eine eigene Variante von dem Interface durch, wo man nur den benötigten Teil mit Leben füllt.

In PositionHelper sähe das so aus:

Code:
PositionHelper() {
   this(RouterConverter.getInstane());
}

PositionHelper(RouteConverterIfc routeConverter) {
   this.routeConverter = routeConverter;
}

Und den PositionHelper kann man dann über deine Callback-Klasse in das PositionsModelImpl durchreichen.

Ich hoffe, dass du mir etwas folgen konntest. Solche Dinge nur in einem Chat zu diskutieren, mache ich sonst nicht. Da machen wir meist kurze Calls bei uns in der Firma zu. Da kann man dann auch die ganzen Vor- und Nachteile der verschiedenen Lösungen besser diskutieren.

Gruß
Thomas
Reply


Messages In This Thread
Sample-Sourcen ? - by lundefugl - 28.12.2025, 15:59
RE: Sample-Sourcen ? - by lundefugl - 28.12.2025, 18:10
RE: Sample-Sourcen ? - by routeconverter - 30.12.2025, 09:41
RE: Sample-Sourcen ? - by routeconverter - 30.12.2025, 09:28
RE: Sample-Sourcen ? - by lundefugl - 30.12.2025, 11:35
RE: Sample-Sourcen ? - by routeconverter - 30.12.2025, 11:46
RE: Sample-Sourcen ? - by lundefugl - 30.12.2025, 14:04
RE: Sample-Sourcen ? - by lundefugl - 31.12.2025, 10:32
RE: Sample-Sourcen ? - by routeconverter - 01.01.2026, 12:46
RE: Sample-Sourcen ? - by lundefugl - 01.01.2026, 13:16
RE: Sample-Sourcen ? - by routeconverter - 01.01.2026, 14:18
RE: Sample-Sourcen ? - by routeconverter - 01.01.2026, 14:37
RE: Sample-Sourcen ? - by lundefugl - 01.01.2026, 15:04
RE: Sample-Sourcen ? - by routeconverter - 01.01.2026, 15:11
RE: Sample-Sourcen ? - by routeconverter - 01.01.2026, 16:15
RE: Sample-Sourcen ? - by lundefugl - 01.01.2026, 16:56
RE: Sample-Sourcen ? - by routeconverter - 02.01.2026, 08:52
RE: Sample-Sourcen ? - by lundefugl - 03.01.2026, 17:02
RE: Sample-Sourcen ? - by routeconverter - 04.01.2026, 12:50
RE: Sample-Sourcen ? - by lundefugl - 04.01.2026, 16:47
RE: Sample-Sourcen ? - by routeconverter - 06.01.2026, 10:01
RE: Sample-Sourcen ? - by lundefugl - 06.01.2026, 10:25
RE: Sample-Sourcen ? - by lundefugl - 2 hours ago

Forum Jump:


Users browsing this thread: 1 Guest(s)