Avatar billede rasmusw Nybegynder
24. oktober 2002 - 21:54 Der er 8 kommentarer og
1 løsning

precompiler?

Hej der.
Jeg har et problem med et API, som findes i tre forskellige versioner. Det er nødvendigt at understøtte alle tre.
Pga. af det har flere klasser i mit program behov for at importere forskellige pakker afhængigt af hvilken version af APIet der kodes op imod. - Og enkelte klasser og metoder hedder forskellige ting i de tre versioner.
Den nemmeste løsning jeg kan se er at have en precompiler, som man har i andre sprog, som tilføjer eller fjerne bestemte ting før selve kompileringen.
Findes det til java?
Avatar billede arne_v Ekspert
24. oktober 2002 - 22:06 #1
Java som sådan bruger ikke pre-compiler.

Jeg ville lave et interface med alt det du skal
bruge fra disse pakker. Lave en klasse for hver
af de tre pakker som implementerer interfacet.
Lave en factory klasse som udfra argument, property
eller noget tredie instantierer en af disse
klasser og returnerer interfacet.
Avatar billede arne_v Ekspert
24. oktober 2002 - 22:06 #2
Hvis du absolut vil lave noget pre-compiling, så er der
rigtigt mange template engines, som vil kunne gøre det.
Avatar billede rasmusw Nybegynder
24. oktober 2002 - 22:15 #3
Jeg har overvejet interface-løsningen.
Jeg har indtil videre set bort fra den fordi det er meget arbejde der skal laves - det er en del som er forskelligt, og hver eneste gang min applikation opdateres, skal jeg derefter opdatere interfacet og alle de klasser der implementerer det.
Fortæl mig gerne mere om template engines, det har jeg ikke hørt om før.
Avatar billede arne_v Ekspert
24. oktober 2002 - 22:25 #4
Groft sagt har du:
  - en template med nogle specielle markeringer i
  - nogle værdier
  - en template engine

Template engine tager så template og sætter værdierne
ind de steder hvor der er specielle markeringer.

Tænk C/C++ preprocessing of defines lavet på
kommando-linien.

Der er masser af den slags.

En af de mere kendte er Velocity.

Se:
  http://jakarta.apache.org/velocity/getting-started.html

Bliver typisk brugt til enten at generere HTML eller
Java.

Men der er mange andre.

Prøv og gå til www.theserverside.com og søg på "template"
og du vil finde i snesevis af template engines.
Avatar billede rasmusw Nybegynder
24. oktober 2002 - 23:35 #5
jeg tror jeg vil kigge på det på et andet tidspunkt.
Jeg har i mellemtiden fundet hvad jeg søgte efter.
Det er en enkelt klasse (JPP), som er med i en application server kaldet Jonas - www.objectweb.org/jonas .
Den kan det med #ifdef osv. som jeg på kort sigt har brug for.
Ellers tak for tippet.
Avatar billede arne_v Ekspert
25. oktober 2002 - 09:21 #6
Faktisk kan du med de fleste C/C++ compilere kalde
deres preprocesser selvstændigt d.v.s. at du kan
også bruge den til at preprocesse ikke-C/C++ med.
Avatar billede stringbuffer Nybegynder
06. marts 2003 - 17:46 #7
Har lavet en template engine selv, der skulle være ligetil at bruge.
Se på www.zhat.dk/template/ hvis det stadig har nogen interesse.
Avatar billede stringbuffer Nybegynder
06. marts 2003 - 17:49 #8
Det er mest mhp. at du kan bruge samme algoritmer i Java, som jeg har brugt i C#.
Avatar billede rasmusw Nybegynder
26. november 2004 - 07:54 #9
jeg endte med at
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester