|
Kevin Marois wrote: You commented that it's wrong. Please explain why you feel that way. It is a "GOTO" in disguise; your app send of a WM_MESSAGE and you're off hunting where that is consumed.
Sorry, but the messenger-idea is a solution is search of a problem; there's more efficient ways of inter-app communication, and they have been around for some time.
In the rare case where multiple machines need to communicate over the internet, I'd opt for my own sockets; even XMPP would be preferable to a "new" solution, as it limits my dependencies - there would be enough alternatives if the provider of the solution goes belly up.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote there's more efficient ways of inter-app communication
Such as?
If it's not broken, fix it until it is
|
|
|
|
|
Eddy Vluggen wrote: there's more efficient ways of inter-app communication, and they have been around for some time.
I've been working on an app that uses SignalR. Do you think this would be a good way to handle inter-proc commincations?
If it's not broken, fix it until it is
|
|
|
|
|
Kevin Marois wrote: I've been working on an app that uses SignalR. Do you think this would be a good way to handle inter-proc commincations? I can't say, I haven't used it in a real scenario yet.
Their website however states;
ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easy Windows is not a real-time OS. Meaning a library on IIS, piped through ASP.NET, utilizing something else on top of that, is not in my definition of "real time".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
There seems to be a misunderstanding from Kevin here. The Messenger implementation of Laurent's is intended for communication inside a single application. It's not inter-app communication.
This space for rent
|
|
|
|
|
No, I get it. I've used it in a large scale app before. That's why I mentioned that I thought it could be hard to debug when to classes are firing messages back and forth. I'm just curious about how else this could be done in a simpler manner.
If it's not broken, fix it until it is
|
|
|
|
|
"Inside" the application? A real (desktop) application, or a "webby" or "phoney" app?
Delegates? How about an observer-pattern? Windows messages? Mutexes? Which of those is the library itself using?
To put it in Garfield-terms; "what's in it for me?", what do I gain by adding the dependency to this library?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Disclaimer: Laurent is a friend of mine, so I might have some bias here.
Messenger/Mediator style communications are perfectly fine because they allow you to separate classes, sometimes over different assemblies, whereby you don't have to know where you're getting a message from, just that at some point, you might (or might not) receive a particular message. This is a perfectly valid way of decoupling classes. What you have to watch out for is something called message explosion, whereby you send everything that you can possibly think of over a messenger. If you're doing that, there should generally be other ways to do this.
BTW - if you're using MVVM Light, that's where the Messenger is.
This space for rent
|
|
|
|
|
I've used it before and I do like it. However I found that it leads to hard to debug code, especially if more than one process fires the same message concurrently. I've also seen apps that fire a message from class A to Class B, which then fires another message back to Class A. very hard to follow.
If it's not broken, fix it until it is
|
|
|
|
|
if no, what alternatives do you use?
|
|
|
|
|
|
Fitted with GPS (Gloopy Pigeon Sh*t)
This space for rent
|
|
|
|
|
A pigeon is a rat with wings. Before being the trash collectors (I mean until 18th century), they were very very fine dishes, but now ...
|
|
|
|
|
|
They just follow the roads, literally
|
|
|
|
|
SneakerNET
New version: WinHeist Version 2.2.2 Beta I told my psychiatrist that I was hearing voices in my head. He said you don't have a psychiatrist!
|
|
|
|
|
|
|
Arrogance.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
You have just been Sharapova'd.
|
|
|
|
|
My mom, you tell her anything and very quickly everyone knows.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
What do you...?
Good Lord!
My mini-mobile-computer thingy can make phone calls!
Live and learn.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
|
Both of which store everything you do and say on American (i.e. a foreign power, to most of us) servers, which are subject to American (i.e. foreign and not in the least bit trustworthy) laws.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
MarcusCole092076 wrote: if no, what alternatives do you use? Email and Skype.
Owning a telephone is not required by law. Best decision ever right after ditching the TV
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|