Naming of IMessage<TResponse, TRequest> (better: IAction<TResponse, TRequest>)?

Jun 18, 2008 at 3:23 PM

Sorry, a discussion is probably better. Just remove the issue I created.

I like the concept, but I simply can't understand why you named it IMessage. A message should be passive. It is not describing an action, but content.

IAction<TResponseMessage, TRequestMessage>

I'm not the only one wondering either:

Jun 28, 2008 at 2:56 PM

Yeah. I had problems with the name as well but couldn't figure out a better name.

I don't like IAction as the Action delegate doesn't have a return value.

ICommand looks more natural than IFunc. Maybe I should rename Send for Execute.

Any thoughts?

Jun 30, 2008 at 8:25 AM
I think TResponseMessage ICommand.Execute(TRequestMessage) could be a good choice. It also sticks to the command pattern.

Other ideas: IMessageCommand.Execute(), IMessageHandler.SendReceive(), IMessageAction.SendReceive()