Toon posts:

Communicatie tussen meerdere classes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben al even bezig met programmeren, maar heb het gevoel dat ik verkeerde structuren in mijn programma's leg. Ik ben namelijk een programma aan het schrijven waarin er input en output langs 3 kanten komt.

Er komt dus output én input van:

- De UI
- Midi
- Een ander programma (windows messages)

Voor alledrie heb ik een class geschreven die de connectie en data regelt.

Nu is de vraag:
Tussen deze 3 classes moet er dus voortdurend interactie zijn. Ik was eerst begonnen met events, maar dat werd enorm onoverzichtelijk. Nu heb ik de 3 classes in 1 class gesmeten (mbv partial classes: C#), al veel eenvoudiger, maar dat lijkt mij ook niet de beste oplossing?

Hoe kun je zoiets het beste aanpakken? Gelieve het niet al te moeilijk uit te leggen, ik ben hier nogal nieuw in :).

Bedankt.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Wanneer je één controlclass hebt die alle daadwerkelijke communicatie verwerkt hoeven die drie plaatsen vanwaar je input/output komt niet veel meer te doen dan data doorsturen naar de controlclass. Ik denk dat je met een toepassing van MVC een heel eind komt, of desnoods met slechts het Observer pattern. Beiden staan redelijk goed uitgelegd op Wikipedia. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:27

gorgi_19

Kruimeltjes zijn weer op :9

-NMe- schreef op zaterdag 08 april 2006 @ 19:10:
Wanneer je één controlclass hebt die alle daadwerkelijke communicatie verwerkt hoeven die drie plaatsen vanwaar je input/output komt niet veel meer te doen dan data doorsturen naar de controlclass. Ik denk dat je met een toepassing van <acronym title="Model View Controller">MVC</acronym> een heel eind komt, of desnoods met slechts het Observer pattern. Beiden staan redelijk goed uitgelegd op Wikipedia. :)
Wellicht zou je ook nog kunnen kijken naar het Mediator Pattern; geen idee wat de specifieke implementatie zou moeten worden in jouw geval, maar het zou ook een optie kunnen zijn. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • MicroWhale
  • Registratie: Februari 2000
  • Laatst online: 08:16

MicroWhale

The problem is choice

het gaat er ook om wat er hier belangrijk is.

Moet alles zoveel mogelijk real-time gebeuren?
Kunnen/Moeten er dingen "parallel" uitgevoerd worden?

Zo ja, dan zou ik een multi-threaded app schrijven met 3 threaded classes. Elke thread vangt dan de events van zijn input/output. Voor elke thread een buffer om de naar hem gestuurde informatie af te handelen.

!! Houd er dan wel rekening mee dat alles thread-safe is: als een thread of class twee keer (van buitenaf) aangeroepen wordt, moet een van de twee aanroepen op de andere wachten. Met criticalsections kan dat goed geregeld worden.

Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.


  • Kayshin
  • Registratie: Juni 2004
  • Laatst online: 09-03-2018

Kayshin

Bl@@T @@P!!!

Een normaal ontworpen programma heeft hierboven een extra laag zitten die de communicatie tussen de verschillende andere classes regelt:

UI->ControlClass->Classes->(evt Data layer->database)

My personal videoteek: -Clique-; -NMe- is een snol!


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Kayshin schreef op maandag 10 april 2006 @ 12:16:
Een normaal ontworpen programma heeft hierboven een extra laag zitten die de communicatie tussen de verschillende andere classes regelt:

UI->ControlClass->Classes->(evt Data layer->database)
Een "normaal ontworpen" programma? Er is meer dan alleen de meerlagenarchitectuur hoor. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
-NMe- schreef op maandag 10 april 2006 @ 12:46:
[...]

Een "normaal ontworpen" programma? Er is meer dan alleen de meerlagenarchitectuur hoor. ;)
Inderdaad, die meerlagenstructuur gebruikte ik eerst, maar die werd veel te complex. Het aantal events liep veel te hoog op. Ik ben nu die andere structuren eens aan het bestuderen.

  • Kayshin
  • Registratie: Juni 2004
  • Laatst online: 09-03-2018

Kayshin

Bl@@T @@P!!!

Voor dit probleem zou je deze structuur echter wel goed kunnen gebruiken. Beetje verkeerde bewoording gebruikt ;)

My personal videoteek: -Clique-; -NMe- is een snol!

Pagina: 1