| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Java-bønner Fra : Preben Holm | 
  Dato :  07-07-05 20:21 |  
  |   
            Hej alle
 
 
 Jeg mangler en helt klar definition på hvad en java-bønne egentlig er.
 
 Jeg har læst at det er en samling af klasser som kan udføre en funktion.
 Den har nogle egenskaber (properties) som kan hentes/sættes med
 get/setProperty()
 
 Det er helt vildt smart, men hvorfor? og hvad er den præcise definition?
 Har læst tonsvis af artikler, men indtil videre har ingen forklaret
 andet end hvad jeg har skrevet i ovenstående!
 
 
 Med venlig hilsen
 Preben Holm
  
            
             |   |   
            
        
 
            
         
           Filip Larsen (07-07-2005) 
         
	
            | Kommentar Fra : Filip Larsen | 
  Dato :  07-07-05 19:06 |  
  |  
 
            Preben Holm skrev
 > Jeg mangler en helt klar definition på hvad en java-bønne egentlig er.
 Kort sagt kan man måske sige, at enhver klasse hvor
 java.beans.Introspector.getBeanInfo returnerer en BeanInfo instans uden
 exception og hvor instanser af klassen opfører sig "ordentligt" er en
 javabønne. I praksis kan en javabønne spænde fra en lille 10-liniers
 enkeltstående klasse til en kompleks sag med mange forskellige klasser
 og BeanInfo support, så hvis du leder efter en helt enkelt definition
 vil den sikkert ikke være præcis nok til at dække "formålet" med alle
 variationsmulighederne.
 > Har læst tonsvis af artikler, men indtil videre har ingen forklaret
 > andet end hvad jeg har skrevet i ovenstående!
 Hvis du ikke allerede har læst den, så kan jeg anbefale spec'en:
 http://java.sun.com/products/javabeans/docs/spec.html
Der er også en JavaBean Tutorial, men den har du jo nok set:
 http://java.sun.com/docs/books/tutorial/javabeans/index.html
Mvh,
 -- 
 Filip Larsen
            
              |   |   
            
        
 
            
         
           Flemming Mertz (08-07-2005) 
         
	
            | Kommentar Fra : Flemming Mertz | 
  Dato :  08-07-05 07:02 |  
  |   
            Hej Preben
 
 Den oprindelige ide i JavaBeans var, at det skulle være selvforklarende 
 software komponenter, selvforklarende over for anden kode, vel at mærke. Ved 
 at tilbyde get og set metoder med en præcis navnekonvention, kan man ved 
 hjælp af reflection udlede hvilke egenskaber en given bønne har. Det åbner 
 mulighed for at et IDE kan benytte en allerede kompileret komponent, blot 
 ved at du trækker den ind i din applikation, og sætter de egenskaber den nu 
 har tilgængelige, så det passer i din applikation.
 
 Begrebet skulle have gjort en farlig masse komponenter tilgængelige, både 
 kommercielle og gratis, så man stort set kunne programmere blot ved lige at 
 samle lidt forskellige beans, og konfigurere dem. Virkeligheden er ikke helt 
 nået dertil endnu, og Beans i dag bliver en blot brugs som data containeres, 
 som blot er en struct med get og set metoder, eller lidt mere avanceret, i 
 J2EE. Men den oprindelige ide, med et komponent der eslv ved hvordan den 
 skal tegne sig i en GUI applikation, som for eksempel en lommeregner bean, 
 er vist tabt.
 
 Mvh,
 Flemming
 
 
 "Preben Holm" <64bitNOSPAMNO@mailme.dk> skrev i en meddelelse 
 news:42cd6453$0$18645$14726298@news.sunsite.dk...
 > Hej alle
 >
 >
 > Jeg mangler en helt klar definition på hvad en java-bønne egentlig er.
 >
 > Jeg har læst at det er en samling af klasser som kan udføre en funktion.
 > Den har nogle egenskaber (properties) som kan hentes/sættes med
 > get/setProperty()
 >
 > Det er helt vildt smart, men hvorfor? og hvad er den præcise definition?
 > Har læst tonsvis af artikler, men indtil videre har ingen forklaret
 > andet end hvad jeg har skrevet i ovenstående!
 >
 >
 > Med venlig hilsen
 > Preben Holm 
 
 
  
            
             |   |   
            
        
 
            
         
           Kristian Thy (08-07-2005) 
         
	
            | Kommentar Fra : Kristian Thy | 
  Dato :  08-07-05 10:18 |  
  |   
            Quoth Flemming Mertz:
 > Ved at tilbyde get og set metoder med en præcis navnekonvention, kan
 > man ved hjælp af reflection udlede hvilke egenskaber en given bønne
 > har.
 
 Er pointen netop ikke at man _ikke_ behøver reflection for at finde ud
 af det - man kan bare se hvilke metoder bønnen byder på? Hvis man
 alligevel hiver hele reflection-apparatet frem kan man jo også bare glo
 i private felter på ikke-bønner.
 
 Det smarte ved getters og setters frem for reflection-pilleri er jo at
 man kan have logik i dem, så man fx ikke kan indsætte "forkerte" værdier
 i bønnens felter.
 
 -- 
 \\kristian
  
            
             |   |   
            
        
 
            
         
           Casper (08-07-2005) 
         
	
            | Kommentar Fra : Casper | 
  Dato :  08-07-05 11:46 |  
  |   
            Jeg havde også svært ved at forstå bean konceptet i starten. Her er mine 
 erfaringer siden.
 
 En bean beskriver en entitets attributter eller "state", og eksponerer 
 disse via get/set/is metoder (afhængig af type). Nogle definitioner (og 
 noget software) vil brokke sig hvis du inkluderer metoder som IKKE 
 hedder noget med get/set/is.
 
 - Som DTO:
 I frameworks som f.eks. Oracle's ADF, er det kun muligt at 
 returnere/sende et enkelt objekt imellem komponenter hvorfor beans 
 bruges til at indkapsle en masse småting, under ét objekt. Ofte kaldes 
 disse beans dog så for et DTO (Data Transfer Object).
 
 - Over webservice:
 Webservices serialiserer Java klasse instanser til XML og tilbage igen, 
 hvorfor der er krav til hvilke typer der benyttes og hvordan objekterne 
 benytter dem. Hertil udnyttes også beans, så kan enhver variabel i XML 
 af en simpel type (f.eks. xsd:string CarModel), automatisk 
 deserialiseres til en Java bean instans ved at bruge dens setCarModel() 
 metode.
 
 Casper
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |