mboost-dp1
Tanker og lign.
Kender i det man går og har tanken at det man lige har i tankerne er helt sindsygt genialt?
Ikke nødvendigvis en opfindelse, måske mere generel teori om et eller andet givent emne..
Når vader rundt i dagevis og tænker det igennem, søger på nettet og læser alverdens, og ender op med ikke at kunne finde noget tilsvarende...
Det eneste man efterhånden bare vil have svar på er om det rent faktisk er genialt, så man kan grave mere i det, eller om det bare er fjollet og skal smides ud af hovedet hurtigst muligt.
Hvad gør man?
Mest af alt ville jeg finde en person som var klog på området. En professor eller lign. og så debattere det med ham... Men nu er det sjældent man lige har sådan en ved hånden ..
Ikke nødvendigvis en opfindelse, måske mere generel teori om et eller andet givent emne..
Når vader rundt i dagevis og tænker det igennem, søger på nettet og læser alverdens, og ender op med ikke at kunne finde noget tilsvarende...
Det eneste man efterhånden bare vil have svar på er om det rent faktisk er genialt, så man kan grave mere i det, eller om det bare er fjollet og skal smides ud af hovedet hurtigst muligt.
Hvad gør man?
Mest af alt ville jeg finde en person som var klog på området. En professor eller lign. og så debattere det med ham... Men nu er det sjældent man lige har sådan en ved hånden ..
kender det alt for godt, går igennem det lige nu, mit er angående noget med java og flerdobbelt nedarving.
Hvis du har stjålet min ide, bliver jeg nødt til at dræbe dig.
Hvis du har stjålet min ide, bliver jeg nødt til at dræbe dig.
Skriv det ned, det gør at du kan begynde at tænke på noget andet. Efter er par dage læser du det igennem igen, og ser om det stadig er genialt. Det er det sikkert ikke, men hvis det er, så tag det derfra.
stodderen:
Det hedder multipel nedarvning og er ganske smart hvis man kan håndtere det, men hvad gør du når:
class a {
public void say(string str){...}
}
class b {
public void say(string str){...}
}
class c extends a, b {
public c () {
base.say("Hello world" );
}
}
Kaldes a.say eller b.say? og hvad ville der ske hvis en metode i a kalder say, men det metode er kaldt fra en subklasse? Er det så a's say eller b's say? Nameclashing er meget grimt :-)
Btw. hvis du vil have multipel nedarvning så brug C++ eller lev med at du er pakket ind i vat. Og jeg savner det i C# :-/
Det hedder multipel nedarvning og er ganske smart hvis man kan håndtere det, men hvad gør du når:
class a {
public void say(string str){...}
}
class b {
public void say(string str){...}
}
class c extends a, b {
public c () {
base.say("Hello world" );
}
}
Kaldes a.say eller b.say? og hvad ville der ske hvis en metode i a kalder say, men det metode er kaldt fra en subklasse? Er det så a's say eller b's say? Nameclashing er meget grimt :-)
Btw. hvis du vil have multipel nedarvning så brug C++ eller lev med at du er pakket ind i vat. Og jeg savner det i C# :-/
Cyrack, jeg er bekendt med diamant problemstillingen, og med min løsing har jeg ladet mig inspirere af ruby on rails mixins.
og jeg er bekendt med c++, og jeg ved godt hvad det hedder.
Jeg kan da vise lidt codesnippets.....
public static HasLabelInterface createComponent(Component primaryComponent,String caption,String rowName,Ejendom ejendomPojo,Rectangle bound ,String TableToFillFrom)
{
HasLabel currLabel=new HasLabel();
SyncEjendomPojoWithComponent currSyncWithDb =new SyncEjendomPojoWithComponent();
currLabel.setComponent(primaryComponent);
currSyncWithDb.setComponent(primaryComponent);
SyncEjendomPojoWithComponentInterface currNewObject=(SyncEjendomPojoWithComponentInterface) Mixin.create(new Object[] {currLabel, primaryComponent, currSyncWithDb });
currNewObject.setRowName(rowName);
currNewObject.LoadValueFromPojo(ejendomPojo);
((HasLabelInterface)currNewObject).getPanel().setBounds(bound );
currLabel.setLabel(caption);
if(primaryComponent instanceof JComboBox)
{
currNewObject.fillFromTable(TableToFillFrom);
}
return ((HasLabelInterface)currNewObject);
}
Denne funktion tillader mig at lave gui objekter på en JPanel, sådan her:
ComboBy=mixins.EjendomFactory.createComponent( new JComboBox(), "By:","ejendomBy",ejendomPojo,new Rectangle(2, 202, 168, 26),"ByTable");
ComboBy=mixins.EjendomFactory.createComponent( new JComboBox(), "By:","ejendomBy",ejendomPojo,new Rectangle(2, 202, 168, 26),"ByTable");
Alt synkronisering mellem pojo og gui objektet klares automatisk efter at jeg har skabt et objekt med sådan én linie.
og jeg er bekendt med c++, og jeg ved godt hvad det hedder.
Jeg kan da vise lidt codesnippets.....
public static HasLabelInterface createComponent(Component primaryComponent,String caption,String rowName,Ejendom ejendomPojo,Rectangle bound ,String TableToFillFrom)
{
HasLabel currLabel=new HasLabel();
SyncEjendomPojoWithComponent currSyncWithDb =new SyncEjendomPojoWithComponent();
currLabel.setComponent(primaryComponent);
currSyncWithDb.setComponent(primaryComponent);
SyncEjendomPojoWithComponentInterface currNewObject=(SyncEjendomPojoWithComponentInterface) Mixin.create(new Object[] {currLabel, primaryComponent, currSyncWithDb });
currNewObject.setRowName(rowName);
currNewObject.LoadValueFromPojo(ejendomPojo);
((HasLabelInterface)currNewObject).getPanel().setBounds(bound );
currLabel.setLabel(caption);
if(primaryComponent instanceof JComboBox)
{
currNewObject.fillFromTable(TableToFillFrom);
}
return ((HasLabelInterface)currNewObject);
}
Denne funktion tillader mig at lave gui objekter på en JPanel, sådan her:
ComboBy=mixins.EjendomFactory.createComponent( new JComboBox(), "By:","ejendomBy",ejendomPojo,new Rectangle(2, 202, 168, 26),"ByTable");
ComboBy=mixins.EjendomFactory.createComponent( new JComboBox(), "By:","ejendomBy",ejendomPojo,new Rectangle(2, 202, 168, 26),"ByTable");
Alt synkronisering mellem pojo og gui objektet klares automatisk efter at jeg har skabt et objekt med sådan én linie.
En løsning jeg overvejer er at hvis et objekt er nedarvet fra flere andre objekter, og der er name clashing, så udfra hvilket object det bliver castet til, vil den vælge hvilken parent der skal have kaldet.
Hov, kan se jeg pastede den samme kode linie 2 gange tidligere.
Andre eksempler:
radioSalg=mixins.EjendomFactory.createComponent( new JRadioButton(), "Salg","salg",ejendomPojo,new Rectangle(4, 288, 108, 15),null);
textSagsNavn=mixins.EjendomFactory.createComponent( new JTextField(), "Sagsnavn:","sagsNavn",ejendomPojo,new Rectangle(0, 33, 126, 30),null);
Hov, kan se jeg pastede den samme kode linie 2 gange tidligere.
Andre eksempler:
radioSalg=mixins.EjendomFactory.createComponent( new JRadioButton(), "Salg","salg",ejendomPojo,new Rectangle(4, 288, 108, 15),null);
textSagsNavn=mixins.EjendomFactory.createComponent( new JTextField(), "Sagsnavn:","sagsNavn",ejendomPojo,new Rectangle(0, 33, 126, 30),null);
svappe: sry, hickjacker lige videre på din tråd.
stodderen: hvad hjælper det at kigge på hvad der bliver kastet til ? hvis du har to metoder i hver sin klasse, med samme signatur er du stadig på skideren.
Multipel nedarvning er meget godt hvis man kan styre det, men de fleste kan bare ikke håndtere den frihed det giver. Desuden kan man ofte opnå samme funktionalitet med singletons og interfaces, uden det store performancehit. Ikke nær så pæn løsning som med multipel nedarvning, men dog en brugbar løsning.
Har lige kigget en lille smule (som i, har loaded en side) mht. mixins, det ser da små smart ud :-)
stodderen: hvad hjælper det at kigge på hvad der bliver kastet til ? hvis du har to metoder i hver sin klasse, med samme signatur er du stadig på skideren.
Multipel nedarvning er meget godt hvis man kan styre det, men de fleste kan bare ikke håndtere den frihed det giver. Desuden kan man ofte opnå samme funktionalitet med singletons og interfaces, uden det store performancehit. Ikke nær så pæn løsning som med multipel nedarvning, men dog en brugbar løsning.
Har lige kigget en lille smule (som i, har loaded en side) mht. mixins, det ser da små smart ud :-)
forestil dig at du ender op med et objekt, der tilpasser sig efter hvad det bliver castet til, hvis f.eks. min factory returnerer et objekt, du så kan caste til både en hammmer, eller en sav, der begge har en funktion der hedder DoFunction(Object o)
Alt efter om du så vil kalde save eller hamre funktionen caster du objektet til hamreinterface, eller saveinterface.......
Alt efter om du så vil kalde save eller hamre funktionen caster du objektet til hamreinterface, eller saveinterface.......
som sagt....det er noget jeg lejer med i mit hovede, og i praksis, eksperimenterer mig frem.....men mener bestemt jeg har fat i noget :)
stodderen:
og når du ikke caster det? Hvad med objektet du vil gøre noget på? Skal du så også caste det? Forestil dig hvor du har et nedarvningstræ i et par hundrede niveauer, hvor der nedarves på kryds og tværs? Hvordan udvælger man så den konfiguration man vil have?
og når du ikke caster det? Hvad med objektet du vil gøre noget på? Skal du så også caste det? Forestil dig hvor du har et nedarvningstræ i et par hundrede niveauer, hvor der nedarves på kryds og tværs? Hvordan udvælger man så den konfiguration man vil have?
hehe, så er det jo at til sådanne tilfælde vil min løsning ikke holde, og når man bruger den må man stramme balderne, og holde disiplinen, og ikke misbruge det.
Men til lige netop det som at jeg bruger det til lige nu, fungerer det overraskende godt.
Men til lige netop det som at jeg bruger det til lige nu, fungerer det overraskende godt.
Ingen problemer :)
Kun godt at få arbejdet med ideer..
I dit tilfælde stodderen, tror du skal være mindre nervøs for at blotte din ide.
Der er to elementer i en god ide.
1: Du alene kan tjene en masse penge/ære på det, fordi du var den første. Du kan dog riskiere at det aldrig bliver til noget, eller der er andre der overhaler dig, fordi du simpelthen ikke får udviklet det hurtigt nok.
2: Du kan dele det folk, med den risiko at det bliver alment kendt og du derved mister hæderen/pengene der eventuelt kunne være i det. Dog ved du, at du har været med til at gøre en forskel.
Det sidste gør at du lever bedre, det gør det første ikke... - Alting med måde :)
Kun godt at få arbejdet med ideer..
I dit tilfælde stodderen, tror du skal være mindre nervøs for at blotte din ide.
Der er to elementer i en god ide.
1: Du alene kan tjene en masse penge/ære på det, fordi du var den første. Du kan dog riskiere at det aldrig bliver til noget, eller der er andre der overhaler dig, fordi du simpelthen ikke får udviklet det hurtigt nok.
2: Du kan dele det folk, med den risiko at det bliver alment kendt og du derved mister hæderen/pengene der eventuelt kunne være i det. Dog ved du, at du har været med til at gøre en forskel.
Det sidste gør at du lever bedre, det gør det første ikke... - Alting med måde :)
Til at starte med troede jeg slet ikke det var muligt at implementere ægte multiply inheritance, men med cglib og direkte javabytecode manipulation i hukommelsen kan man godt, de "små" detaljer, der er tilbage, går jeg konstant og vender i mit hovede, men mener ganske bestemt at jeg har fat i noget, om ikke andet, så hvis jeg holder mig til mixin principperne 100% sker der ikke noget uforventet.
svappe>>>Hvis andre kan bruge mine overvejelser til noget fornuftigt bliver jeg da bare glad, og hvis at det jeg laver ender i noget fornuftigt, har jeg da tænkt mig at skrive en artikel om det.
Fuck penge og hæder, det her handler om ideér.
Fuck penge og hæder, det her handler om ideér.
Du kan måske blive den nye "popStar" på tv2 :-)
Danmarks Bedste Idé
I en ny række underholdende og inspirerende programmer går TV 2 på jagt efter kreative hoveder af alle slags. Det gælder om at få Danmarks bedste idéer frem i lyset - og om at få den bedste gjort til virkelighed. Det er en slags "Popstars for opfindere", og vært i "Danmarks Bedste Idé" er Tim Frank Andersen.
Gennem auditions i Århus og København kan alle møde op og præsentere deres idéer eller opfindelser for et dommerpanel, som på stedet vurderer, hvem der har potentiale til at gå videre. Uanset om man står med et totalt gennemtænkt projekt, eller om den gode idé endnu er foreløbige strøtanker på en serviet, er der ingen, som skal holde sig tilbage.
Dommerpanelet, der består af Anne Skare Nielsen fra Future Navigator, it-eksperten Preben Mejer og Martin Thorborg fra SPAMfighter, er åbent for alle idéer, men kun de bedste går videre - og kun den allerbedste vinder den kontante hovedpræmie, der kan hjælpe med at føre projektet ud i livet.
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

- Forside
- ⟨
- Forum
- ⟨
- Tagwall
Gå til bund