pjvds / ncqrs

Ncqrs Framework - The CQRS Framework for .NET
Other
539 stars 164 forks source link

Is NCQRS discontinued? #105

Open iskandersierra opened 9 years ago

iskandersierra commented 9 years ago

It seems at first sight it is a great effort to be used at applying DDD, CQRS & ES. However I dont like the fact that thirdparty libraries are outdated for more than 3 years (e.g. NServiceBus is version 2.1 and its current version is 5.1). I guess the framework would be easier to rescue than the extensions. I would like to know if there is someone getting steam into this project. Thanks

tjeerdhans commented 9 years ago

I'm looking into using nqcrs at my current job, but there's a chance I'll be building something from scratch. If I do however choose to use ncqrs, I'll be updating it to the latest libraries.

kadamgreene commented 8 years ago

For what its worth, I have forked it and added some optimizations, got it going 10x faster. About to start a new project with it so will be putting it through its paces to make everything is good. If it makes it through I will post it. Will also be updating the references to modern (where possible. Example, NServiceBus is now commercial and i don't use it so won't be trying to get it working, but might make the same kind of setup for MassTransit instead).

pjvds commented 8 years ago

Great work Adam! I think it would be valuable to get your effort into the framework.

Is there anything I can do to help?

On 31 May 2016, at 05:15, Adam Greene notifications@github.com wrote:

For what its worth, I have forked it and added some optimizations, got it going 10x faster. About to start a new project with it so will be putting it through its paces to make everything is good. If it makes it through I will post it. Will also be updating the references to modern (where possible. Example, NServiceBus is now commercial and i don't use it so won't be trying to get it working, but might make the same kind of setup for MassTransit instead).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

kadamgreene commented 8 years ago

Hi @pjvds.

At this point, nothing that I can think of. It's just getting it into real world use in a project and fixing the not so obvious issues. All the tests pass, but the issue is around multi-threaded environments (thread collisions around the caching, which is the main way that I got speed increase, there was a lot of reflection that was happening repeatedly rather than being cached). Some of it has been adding locking (pros and cons), but I'm exploring Concurrent dictionaries as an option as well. Once I'm confident the caching will bear up, I will submit.

I've also added open generics support to NCQRS as well. Which I've had discussions with people as being "not CQRS" but it was necessary for a project that we were building which only at runtime would we actually know what events were being fired. It was for a rules engine, and the triggers and actions are defined at runtime and we need to have events like "ActionAdded", which was needed so that JSON would serialize and deserialize properly for the event (The class definition carries the type, because otherwise we have ActionAdded { object Action {get; set; } } which doesn't work with JSON (it doesn't know how to handle the properties of the action). The question is if we want to bring that into NCQRS proper.

sbiaudet commented 7 years ago

Hi @adamcogx,

I've updated dependencies with latest versions. @pjvds merged the pull request few days ago. I'd like to port ncqrs to dotnet core. Perhaps you could merge your changes into the master or an other branch if you wan't to work together.

kadamgreene commented 7 years ago

I would love to work together, but I am extremely busy, so don't know what kind of commitment I could make right now. At the very least, I will look at getting my updates into a pull request.

EDIT: In looking at all the changes you've made, I will have to do a full compare and sort things out as I've made some extensive changes (a lot of files altered / added / moved / etc). All of my work is in my repo (https://github.com/adamcogx/ncqrs) if you want to look at the changes I've made.