Hele humlen er, at den samme kode ikke virker både på Windows og Linux. På Windows er jeg nødt til at anvende en outputstream til skrivning af data, mens jeg anvender en SocketChannel under Linux. Dette behov kan blive dækket ved at på Windows at overskrive 2 metoder.
Det angives i serverens konfigurationsfil om der skal køres normalt (med SocketChannel) eller med en outputstream. Hvis jeg forstår dig helt ret arne, skal den spørge til en status-variabel og derudfra bestemme hvilken metode der skal afvikles. Den løsning bryder jeg mig bare ikke særlig meget om. Metoden skal køres rigtig tit (flere gange i sekundet) for hver enkelt klient, og jeg vil derfor godt spare if-sætningen væk. Det jeg var ude efter var i stedet at få fastsat hvilken kode der skal køres idet klienten connecter og Client-objektet oprettes.
I denne forbindelse hælder jeg nok til Strategy Pattern, som conrad foreslår. Jeg fandt et rigtig godt stykke om det her:
http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/StrategyPattern.htmHvis et redesign af min klassestruktur løsete problemet gjorde jeg gerne det (og jo, det skulle være færdig i fredags, men jeg er stadig den der er længst fremme :) ). Jeg kan bare ikke se hvordan problemet kan løses uden redundant kode - hvilket det SKAL.