27. februar 2005 - 00:04Der er
18 kommentarer og 1 løsning
metodekald i den forkerte retning
hej...
hvis man nu har følgende klasser:
A-B-C-D-E-F | BF
hvor A instantierer B, osv.. B instantierer desuden BF, der er en JFrame
Findes der så en smart måde hvorpå man kan lave et metodekald fra F til BF uden at have "this" referencer hele vejen fra F til BF, når D, E, og F samtidig skal serialiseres???
Man kan selvfølgelig opnå det abstraktionsniveau på flere måder, men fremgangsmåden i observerpattern synes jeg giver et godt indblik i hvordan det kan gøres.
hej Arne...du siger observer pattern også en reference hele vejen ned.... Mener du så den "rigtige" retning. i så fald ikke...vil det påvirke hvor mange klasser jeg skal Serialiserer?
Klasser der skal igennem en stream skal serialiseres. Hvis ens klasser nedarver fra et interface, kan man nøjes med at lade interfacet implementere/extende Serializable.
Jeg forstår dig ikke helt helt , når du skriver "igennem en Stream"..
Det jeg har gjort er udelukkende at Serialisere mine DataKlasser. Jeg har så tidligere lavet en "Dårlig Design" reference fra Data gennem Business til Gui klasserne, hvilket så betød at jeg var nød til Serialiserer samtlige klasser, der var i berøring med referencen.
Det er det jeg mente med spørgsmålet før...er jeg nød til at Serialisere alle klasserne igen, hvis laver laver en skidt reference, i observer Pattern...eller går denne reference den rigtige vej
Uanset hvordan du smider referencer frem og tilbage i dit program, er det kun de klasser der (og nu siger jeg det igen :) skal igennem en stream der skal implementere Serializable.
I mellem min business klasse og DataKlasserne har jeg en såkaldt Dataklasse der i konstruktøren loader mine data ind fra disk. og en metode der gemmer mine data.
Dvs rent billedmæssigt...alle klasser til højre for denne Dataklasse bliver Serialiseret. Men jeg forstår hvad du mener med "igennem en strem" nu.. ;)
Ja, det scenarie har du ret i. Men det er svært at forudse hvad vej hans kode går.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.