Avatar billede stfn Nybegynder
16. juni 2012 - 11:58 Der er 6 kommentarer

Events eller IObservable

Hej

Jeg sidder med et projekt hvor et af kravene bl.a. er, at det løbende skal kunne udvides gennem en plugin model. Dette har jeg sådan set på plads ved hjælp af MEF.

Det jeg godt kunne tænke mig at vide lidt mere om er fordele og ulemper ved brug af Events kontra IObservable til at trigge handlinger fra de "ukendte" plugins.

På forhånd tak :)
Avatar billede janus_007 Nybegynder
16. juni 2012 - 16:27 #1
Er det IObservable fra RX? for så er det med events allerede. Eller tænker du på events som i EventHandler, publish/ subscribe?
Avatar billede stfn Nybegynder
16. juni 2012 - 19:51 #2
Måske jeg skal spørge lidt bredere :) Jeg skal på en eller anden måde kunne arbejde med at trigge handlinger som forklaret i den oprindelige post. Jeg er bare interesseret i hvordan i ville gøre det.
Avatar billede Syska Mester
16. juni 2012 - 20:07 #3
Uden at jeg kender noget til det eller har arbejdet med MEF, men du må jo have et interface som plugins skal implementere. Derpå kunne du jo også have events som dit program kender til.

Det er jo svært at trigger ting i dit problem hvis plugin udvikleren ikke ved hvad du kan modtage af data.

Men hvad er det for information som pluginet skal sende til dit program?
Avatar billede stfn Nybegynder
16. juni 2012 - 20:13 #4
Ahh jeg må have formuleret mig lidt kryptisk :) Problemet er i sig selv rimelig lige til tror jeg. Plugin udvikleren kender til hvad der findes af events i "kernen". Spørgsmålet er egentlig bare hvilken teknik jeg skal bruge til at fortælle pluginet at en specifik handling er udført. Evt. nogle gode links også.
Avatar billede Syska Mester
16. juni 2012 - 20:19 #5
Umildbart lyder event jo som det nemme.

Pluginet kan subscribe hvis de vil og dit program kan derved trigger events i pluginet.

IObservable har vist nok også interne events og det er lavet på næsten samme måde ... så det er vist det samme måde.

i WPF er det jo også din kontrol som trigger events som andre eksterne kilder så kan lytte på. ( Hvis jeg har forstået det rigtigt )
Avatar billede janus_007 Nybegynder
17. juni 2012 - 11:27 #6
Ja det vil jeg også mene :)

Du skal give plugin-udvikleren et interface som forklarer hvilke events dit program kan eksekvere, herefter er det jo op til udvikleren at implementere dem.

Du skal formentligt lave en async trigger / fire, da ellers plugin'et kan få dit program til at stene :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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