Skip to content

JustinMoss/Messaging.Primitives

 
 

Repository files navigation

Messaging.Primitives

Build status

Messaging.Primities is a small, independent and decoupled, class library to contain message-oriented abstractions. For the most part this library will only contain interfaces but may contain base classes in the future

##IMessage Mostly a marker interface, but does contain a string CorrelationId property. This interface provides a message abstraction for other interfaces/implementations. ##IEvent A marker interface to provide an event abstraction. An event is a type of message; but a unique event abstraction allows messages and events to be handled separately. An event is the representation of a immutable fact that describes something that occured in the past. ##ICommand A marker interface that provides an abstraction of a command message specific to requesting a change in state, i.e. the execution of a command. ##IConsumer A generic interface that provides an abstrction for something that consumes or handles a message. IConsumer has a Handle method to consume a messsage derived from IMessage and has the signature void Handle<T>(T message) ##IProducer A generic interface that provides an abstraction for something that produces a message. IProducer has a AttachConsumer method to attach something that implements a IConsmer so that the producer and send the mesages that are produced to the consumer. This interface promotes the idea that messages are asynchronous and aren't singular. The AttachConsumer method allows consumers to consume any number of messages that the producer will produce in the future. ##IPipe A convienient marker interface for something that is both a consumer and a producer, a pipe (or filter). It implements both IConsumer and IProducer and able to consume a message of one type and produce a method of another type. ##IBus A abstraction for a bus that when implemented would faciliate a decoupled architecture whose responsibility is to facilitate the connection of producers and consumers.

About

Messaging Primitives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%