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

Jun 18, 2008 at 4: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.

Or:
IAction<TResponseMessage, TRequestMessage>
IFunc<>
ICommand<>
...

I'm not the only one wondering either: http://www.ayende.com/Blog/archive/2008/06/04/Review-Umbrella-project.aspx

Coordinator
Jun 28, 2008 at 3: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 9: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()

Lars