Coder Social home page Coder Social logo

newbe36524 / newbe.claptrap Goto Github PK

View Code? Open in Web Editor NEW
216.0 15.0 37.0 2.47 MB

This is a frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can create "distributed", "scale out", and "easy to test" application more simply. Claptrap and it`s Minions is on the way.

Home Page: http://claptrap.newbe.pro

License: MIT License

C# 97.04% Batchfile 0.08% PowerShell 0.28% JavaScript 0.15% Dockerfile 0.12% HTML 1.71% Less 0.62%
actor-model event-sourcing event-driven reactive reactivex server concurrent-programming

newbe.claptrap's Introduction

Newbe.Claptrap

All Contributors

build Codecov Coverage Quality Gate Status Newbe.Claptrap

This is a set of server-side development frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can develop "distributed", "scale out", and "easy to test" application more simply.

Project Status

The project has entered the Preview stage, and related versions will be released on the master branch. You can get the latest development package through nuget.org. We do not recommend using the Preview version for production environments.

Claptrap and it`s Minions are coming.

At present, we need more members to join us to complete this work. No matter where you are interested in convenience, we believe that you can find a suitable participation point for you here.

Samples

You can get the samples about the project through Newbe.Claptrap.Examples so that you can understand how to use the project.

Discussion

References

The project was inspired by many open source projects and blog posts:

Stargazers over time

Stargazers over time

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Newbe36524

🚇 ⚠️ 💻

wangjunjx8868

💡

kotone

🌍

FFFirer

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

Icon

The icons currently used in this project are all from The Noun Project. You can view the copyright information of each section in /docs/noun_source.

Gitee

If you cannot use Github normally, you can also use Gitee to clone the source code and samples (Mainly for China mainland).

newbe.claptrap's People

Contributors

allcontributors[bot] avatar newbe36524 avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newbe.claptrap's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency BenchmarkDotNet to v0.13.5
  • Update dependency BenchmarkDotNet.Diagnostics.Windows to v0.13.5
  • Update dependency DeepCloner to v0.10.4
  • Update dependency MySql.Data to v8.0.32.1
  • Update dependency NLog to v4.7.15
  • Update dependency NLog.Extensions.Logging to v1.7.5
  • Update dependency NUnit to v3.13.3
  • Update dependency Newtonsoft.Json to v13.0.3
  • Update dependency Npgsql to v6.0.9
  • Update dependency NunitXml.TestLogger to v3.0.131
  • Update dependency SmartFormat.NET to v2.7.3
  • Update dependency System.Data.SQLite.Core to v1.0.117
  • Update MirrorNG/nunit-reporter action to v1.1.0
  • Update dependency AntDesign.Charts to v0.3.1
  • Update dependency Autofac to v6.5.0
  • Update dependency Dapr.Actors to v1.10.0
  • Update dependency Dapr.Actors.AspNetCore to v1.10.0
  • Update dependency Dapr.AspNetCore to v1.10.0
  • Update dependency Dapr.Client to v1.10.0
  • Update dependency Humanizer to v2.14.1
  • Update dependency Microsoft.CodeAnalysis.CSharp.Workspaces to v4.5.0
  • Update dependency Microsoft.NET.Test.Sdk to v17.5.0
  • Update dependency Microsoft.VisualStudio.Azure.Containers.Tools.Targets to v1.17.0
  • Update dependency MongoDB.Driver to v2.19.0
  • Update dependency NLog.Web.AspNetCore to v4.15.0
  • Update dependency NUnit.Analyzers to v3.6.1
  • Update dependency NUnit3TestAdapter to v4.4.2
  • Update dependency Refit.HttpClientFactory to v6.3.2
  • Update dependency Swashbuckle.AspNetCore to v6.5.0
  • Update dependency dbup-core to v4.6.3
  • Update dependency dbup-mysql to v4.6.0
  • Update dependency dbup-postgresql to v4.6.3
  • Update dependency dbup-sqlite to v4.6.0
  • Update jaegertracing/all-in-one Docker tag to v1.43
  • Update opentelemetry-dotnet monorepo (OpenTelemetry, OpenTelemetry.Exporter.Zipkin, OpenTelemetry.Extensions.Hosting, OpenTelemetry.Instrumentation.AspNetCore, OpenTelemetry.Instrumentation.GrpcNetClient, OpenTelemetry.Instrumentation.Http)
  • Update postgres Docker tag to v12.14
  • Update actions/cache action to v3
  • Update actions/checkout action to v3
  • Update actions/setup-java action to v3
  • Update actions/upload-artifact action to v3
  • Update codecov/codecov-action action to v3
  • Update dependency Autofac to v7
  • Update dependency Autofac.Extensions.DependencyInjection to v8
  • Update dependency Microsoft.FASTER.Core to v2
  • Update dependency NLog to v5
  • Update dependency NLog.Extensions.Logging to v5
  • Update dependency NLog.Web.AspNetCore to v5
  • Update dependency Npgsql to v7
  • Update dependency SmartFormat.NET to v3
  • Update dependency System.Linq.Async to v6
  • Update dependency antd to v5
  • Update dependency dbup-core to v5
  • Update dependency dbup-mysql to v5
  • Update dependency dbup-postgresql to v5
  • Update dependency dbup-sqlite to v5
  • Update dependency husky to v8
  • Update mcr.microsoft.com/dotnet/sdk Docker tag to v7
  • Update postgres Docker tag to v15
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

docker-compose
src/Docker/Database/docker-compose.yml
src/Docker/Monitor/docker-compose.yml
src/Docker/RabbitMQ/docker-compose.yml
  • rabbitmq 3-management-alpine
src/Newbe.Claptrap.StorageTestConsole/Docker/Db/MongoDB/docker-compose.yml
src/Newbe.Claptrap.StorageTestConsole/Docker/Db/MySql/docker-compose.yml
src/Newbe.Claptrap.StorageTestConsole/Docker/Db/PostgreSQL/docker-compose.yml
src/Newbe.Claptrap.StorageTestWebApi/Docker/Db/MongoDB/docker-compose.yml
src/Newbe.Claptrap.StorageTestWebApi/Docker/Db/MySql/docker-compose.yml
src/Newbe.Claptrap.StorageTestWebApi/Docker/Db/PostgreSQL/docker-compose.yml
src/Newbe.Claptrap.Template/HelloClaptrap/docker-compose.yml
  • jaegertracing/all-in-one 1.29
dockerfile
src/Newbe.Claptrap.StorageTestWebApi/Dockerfile
  • mcr.microsoft.com/dotnet/aspnet 5.0-buster-slim
  • mcr.microsoft.com/dotnet/sdk 5.0-buster-slim
github-actions
.github/workflows/benchmark_db_event_saving_mongodb.yml
  • actions/checkout v2
  • actions/upload-artifact v2
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/benchmark_db_event_saving_mysql.yml
  • actions/checkout v2
  • actions/upload-artifact v2
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/benchmark_db_event_saving_postgresql.yml
  • actions/checkout v2
  • actions/upload-artifact v2
  • mcr.microsoft.com/dotnet/sdk 5.0
  • postgres 12.3-alpine
.github/workflows/benchmark_db_event_saving_sqlite.yml
  • actions/checkout v2
  • actions/upload-artifact v2
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/database_mongodb.yml
  • actions/checkout v2
  • MirrorNG/nunit-reporter v1.0.11
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/database_mysql.yml
  • actions/checkout v2
  • MirrorNG/nunit-reporter v1.0.11
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/database_postgresql.yml
  • actions/checkout v2
  • MirrorNG/nunit-reporter v1.0.11
  • mcr.microsoft.com/dotnet/sdk 5.0
  • postgres 12.3-alpine
.github/workflows/dev_azure_sleet_nuget.yml
  • actions/checkout v2
  • aarnott/nbgv v0.3
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/dev_myget_nuget.yml
  • actions/checkout v2
  • aarnott/nbgv v0.3
  • mcr.microsoft.com/dotnet/sdk 5.0
.github/workflows/main.yml
  • actions/checkout v2
  • actions/cache v2
  • actions/cache v2
  • actions/setup-java v2
  • MirrorNG/nunit-reporter v1.0.11
  • codecov/codecov-action v2.1.0
  • codacy/codacy-coverage-reporter-action v1.1.0
  • mcr.microsoft.com/dotnet/sdk 5.0
  • postgres 12.3-alpine
  • rabbitmq 3-management-alpine
.github/workflows/rabbitmq.yml
  • actions/checkout v2
  • MirrorNG/nunit-reporter v1.0.11
  • mcr.microsoft.com/dotnet/sdk 5.0
  • rabbitmq 3-management-alpine
.github/workflows/release_nuget.yml
  • actions/checkout v2
  • aarnott/nbgv v0.3
  • mcr.microsoft.com/dotnet/sdk 5.0
npm
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.SimulatorWeb/package.json
  • antd 4.18.2
  • gulp 4.0.2
  • gulp-clean-css 4.3.0
  • gulp-concat-css 3.1.0
  • gulp-less 5.0.0
  • gulp-rename 2.0.0
  • gulp-sourcemaps 3.0.0
  • gulp-uglify 3.0.2
  • husky 7.0.4
  • less-plugin-npm-import 2.1.0
  • vinyl-buffer 1.0.1
  • vinyl-source-stream 2.0.0
nuget
Directory.Build.props
  • Nerdbank.GitVersioning 3.4.244
src/Directory.Build.props
  • FluentAssertions 6.2.0
  • Autofac.Extras.Moq 6.1.0
  • Autofac.Extensions.DependencyInjection 7.2.0
  • coverlet.collector 3.1.0
  • NUnit3TestAdapter 4.1.0
  • NUnit.Analyzers 3.2.0
  • NunitXml.TestLogger 3.0.117
  • NUnit 3.13.2
  • NLog.Targets.Seq 2.1.0
  • Microsoft.NET.Test.Sdk 17.0.0
src/Newbe.Claptrap.Abstractions/Newbe.Claptrap.Abstractions.csproj
src/Newbe.Claptrap.AppMetrics/Newbe.Claptrap.AppMetrics.csproj
  • App.Metrics.Formatters.Prometheus 4.3.0
  • App.Metrics 4.3.0
src/Newbe.Claptrap.Attributes/Newbe.Claptrap.Attributes.csproj
src/Newbe.Claptrap.Benchmarks/Newbe.Claptrap.Benchmarks.csproj
  • BenchmarkDotNet.Diagnostics.Windows 0.13.1
  • Autofac.Extensions.DependencyInjection 7.2.0
  • BenchmarkDotNet 0.13.1
src/Newbe.Claptrap.Configuration/Newbe.Claptrap.Configuration.csproj
src/Newbe.Claptrap.Dapr.Core/Newbe.Claptrap.Dapr.Core.csproj
  • Dapr.Actors 1.6.0
src/Newbe.Claptrap.Dapr.Hosting.Tests/Newbe.Claptrap.Dapr.Hosting.Tests.csproj
src/Newbe.Claptrap.Dapr.Hosting/Newbe.Claptrap.Dapr.Hosting.csproj
  • Autofac.Extensions.DependencyInjection 7.2.0
  • Dapr.Actors.AspNetCore 1.6.0
  • Dapr.Actors 1.6.0
src/Newbe.Claptrap.Dapr.TestKit/Newbe.Claptrap.Dapr.TestKit.csproj
  • Autofac.Extras.Moq 6.1.0
src/Newbe.Claptrap.Dapr.Tests/Newbe.Claptrap.Dapr.Tests.csproj
src/Newbe.Claptrap.Dapr/Newbe.Claptrap.Dapr.csproj
  • Dapr.Actors.AspNetCore 1.6.0
  • Autofac.Extras.AggregateService 6.1.1
  • Autofac 6.3.0
src/Newbe.Claptrap.DataSerializer.JsonNet/Newbe.Claptrap.DataSerializer.JsonNet.csproj
  • Newtonsoft.Json 13.0.1
  • Autofac 6.3.0
src/Newbe.Claptrap.DataSerializer.TextJson/Newbe.Claptrap.DataSerializer.TextJson.csproj
  • Autofac 6.3.0
src/Newbe.Claptrap.Demo.Client/Newbe.Claptrap.Demo.Client.csproj
  • Dapr.Actors 1.6.0
  • System.Reactive 5.0.0
  • Autofac.Extensions.DependencyInjection 7.2.0
src/Newbe.Claptrap.Demo.Interfaces/Newbe.Claptrap.Demo.Interfaces.csproj
  • Dapr.Actors 1.6.0
src/Newbe.Claptrap.Demo.Models/Newbe.Claptrap.Demo.Models.csproj
src/Newbe.Claptrap.Demo.Server/Newbe.Claptrap.Demo.Server.csproj
  • Dapr.Actors.AspNetCore 1.6.0
  • Swashbuckle.AspNetCore 6.2.3
  • OpenTelemetry.Instrumentation.Http 1.0.0-rc7
  • OpenTelemetry.Instrumentation.GrpcNetClient 1.0.0-rc7
  • OpenTelemetry.Instrumentation.AspNetCore 1.0.0-rc7
  • OpenTelemetry.Extensions.Hosting 1.0.0-rc7
  • OpenTelemetry.Exporter.Zipkin 1.1.0
  • OpenTelemetry 1.1.0
  • Microsoft.Tye.Extensions.Configuration 0.6.0-alpha.21070.5
  • NLog.Web.AspNetCore 4.14.0
  • NLog 4.7.13
  • Autofac.Extensions.DependencyInjection 7.2.0
src/Newbe.Claptrap.Demo/Newbe.Claptrap.Demo.csproj
src/Newbe.Claptrap.DevTools/Newbe.Claptrap.DevTools.csproj
  • Microsoft.CodeAnalysis.CSharp.Workspaces 4.0.1
  • System.Reactive 5.0.0
  • System.Linq.Async 5.1.0
  • Newtonsoft.Json 13.0.1
  • Microsoft.Extensions.Logging.Console 5.0.0
  • Microsoft.Extensions.DependencyInjection 5.0.2
  • Autofac.Extensions.DependencyInjection 7.2.0
  • Autofac 6.3.0
src/Newbe.Claptrap.EventCenter.Dapr/Newbe.Claptrap.EventCenter.Dapr.csproj
  • Dapr.Client 1.6.0
  • Dapr.AspNetCore 1.6.0
  • Dapr.Actors 1.6.0
src/Newbe.Claptrap.EventCenter.RabbitMQ.Tests/Newbe.Claptrap.EventCenter.RabbitMQ.Tests.csproj
src/Newbe.Claptrap.EventCenter.RabbitMQ/Newbe.Claptrap.EventCenter.RabbitMQ.csproj
  • System.IO.Compression 4.3.0
  • RabbitMQ.Client 6.2.2
  • Microsoft.Extensions.Options 5.0.0
src/Newbe.Claptrap.EventCenter/Newbe.Claptrap.EventCenter.csproj
  • Autofac 6.3.0
src/Newbe.Claptrap.Hosting/Newbe.Claptrap.Hosting.csproj
  • App.Metrics.Reporting.InfluxDB 4.3.0
  • App.Metrics.AspNetCore 4.3.0
  • Autofac.Extensions.DependencyInjection 7.2.0
  • App.Metrics.Formatters.Prometheus 4.3.0
src/Newbe.Claptrap.Localization/Newbe.Claptrap.Localization.csproj
  • Microsoft.Extensions.Logging.Abstractions 5.0.0
  • Microsoft.Extensions.Localization.Abstractions 5.0.12
  • Autofac 6.3.0
src/Newbe.Claptrap.StateHolder.DeepCopy.Tests/Newbe.Claptrap.StateHolder.DeepCopy.Tests.csproj
src/Newbe.Claptrap.StateHolder.DeepCopy/Newbe.Claptrap.StateHolder.DeepCopy.csproj
  • DeepCloner 0.10.3
  • Autofac 6.3.0
src/Newbe.Claptrap.StorageProvider.Faster/Newbe.Claptrap.StorageProvider.Faster.csproj
  • Microsoft.FASTER.Core 1.9.9
src/Newbe.Claptrap.StorageProvider.MongoDB.Tests/Newbe.Claptrap.StorageProvider.MongoDB.Tests.csproj
src/Newbe.Claptrap.StorageProvider.MongoDB/Newbe.Claptrap.StorageProvider.MongoDB.csproj
  • MongoDB.Driver 2.14.1
src/Newbe.Claptrap.StorageProvider.MySql.Tests/Newbe.Claptrap.StorageProvider.MySql.Tests.csproj
src/Newbe.Claptrap.StorageProvider.MySql/Newbe.Claptrap.StorageProvider.MySql.csproj
  • MySql.Data 8.0.28
  • dbup-mysql 4.5.0
  • Dapper 2.0.123
src/Newbe.Claptrap.StorageProvider.PostgreSQL.Tests/Newbe.Claptrap.StorageProvider.PostgreSQL.Tests.csproj
src/Newbe.Claptrap.StorageProvider.PostgreSQL/Newbe.Claptrap.StorageProvider.PostgreSQL.csproj
  • Npgsql 6.0.3
  • dbup-postgresql 4.5.0
  • Dapper 2.0.123
src/Newbe.Claptrap.StorageProvider.Relational/Newbe.Claptrap.StorageProvider.Relational.csproj
  • System.Reactive 5.0.0
  • Microsoft.Extensions.Logging.Abstractions 5.0.0
  • Newbe.ObjectVisitor 0.4.4
  • dbup-core 4.5.0
src/Newbe.Claptrap.StorageProvider.SQLite.Tests/Newbe.Claptrap.StorageProvider.SQLite.Tests.csproj
src/Newbe.Claptrap.StorageProvider.SQLite/Newbe.Claptrap.StorageProvider.SQLite.csproj
  • dbup-sqlite 4.5.0
  • Dapper 2.0.123
  • System.Reactive 5.0.0
  • System.Linq.Async 5.1.0
  • System.Data.SQLite.Core 1.0.115.5
  • Microsoft.Extensions.Logging.Abstractions 5.0.0
src/Newbe.Claptrap.StorageSetup/Newbe.Claptrap.StorageSetup.csproj
  • Microsoft.Extensions.Logging.Console 5.0.0
  • Microsoft.Extensions.Logging 5.0.0
  • NLog 4.7.13
  • Autofac.Extensions.DependencyInjection 7.2.0
src/Newbe.Claptrap.StorageTestConsole/Newbe.Claptrap.StorageTestConsole.csproj
  • NLog.Targets.Seq 2.1.0
  • NLog.Extensions.Logging 1.7.4
  • Newbe.ObjectVisitor 0.4.4
  • Microsoft.Extensions.Options 5.0.0
  • Microsoft.Extensions.Hosting 5.0.0
  • Humanizer 2.13.14
src/Newbe.Claptrap.StorageTestWebApi/Newbe.Claptrap.StorageTestWebApi.csproj
  • Swashbuckle.AspNetCore 6.2.3
  • NLog.Web.AspNetCore 4.14.0
  • Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.14.0
  • Humanizer 2.13.14
src/Newbe.Claptrap.Template/Directory.Build.props
src/Newbe.Claptrap.Template/HelloClaptrap/Directory.Build.props
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.Actors.Tests/HelloClaptrap.Actors.Tests.csproj
  • Microsoft.NET.Test.Sdk 17.0.0
  • NUnit3TestAdapter 4.1.0
  • NUnit.Analyzers 3.2.0
  • NUnit 3.13.2
  • FluentAssertions 6.2.0
  • Autofac.Extras.Moq 6.1.0
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.Actors/HelloClaptrap.Actors.csproj
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.BackendServer/HelloClaptrap.BackendServer.csproj
  • Swashbuckle.AspNetCore 6.2.3
  • OpenTelemetry.Instrumentation.Http 1.0.0-rc7
  • OpenTelemetry.Instrumentation.GrpcNetClient 1.0.0-rc7
  • OpenTelemetry.Instrumentation.AspNetCore 1.0.0-rc7
  • OpenTelemetry.Extensions.Hosting 1.0.0-rc7
  • OpenTelemetry.Exporter.Zipkin 1.1.0
  • OpenTelemetry 1.1.0
  • Microsoft.Tye.Extensions.Configuration 0.6.0-alpha.21070.5
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.IActor/HelloClaptrap.IActor.csproj
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.Models/HelloClaptrap.Models.csproj
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.SimulatorWeb/HelloClaptrap.SimulatorWeb.csproj
  • System.Net.Http.Json 5.0.0
  • Refit.HttpClientFactory 6.1.15
  • Microsoft.Extensions.Options.ConfigurationExtensions 5.0.0
  • Microsoft.AspNetCore.Components.WebAssembly.DevServer 5.0.12
  • Microsoft.AspNetCore.Components.WebAssembly 5.0.12
  • AntDesign.Pro.Layout 0.1.0-*
  • AntDesign.Charts 0.2.2
src/Newbe.Claptrap.Template/HelloClaptrap/HelloClaptrap.WebApi/HelloClaptrap.WebApi.csproj
  • Swashbuckle.AspNetCore 6.2.3
  • OpenTelemetry.Instrumentation.Http 1.0.0-rc7
  • OpenTelemetry.Instrumentation.GrpcNetClient 1.0.0-rc7
  • OpenTelemetry.Instrumentation.AspNetCore 1.0.0-rc7
  • OpenTelemetry.Extensions.Hosting 1.0.0-rc7
  • OpenTelemetry.Exporter.Zipkin 1.1.0
  • OpenTelemetry 1.1.0
  • Microsoft.Tye.Extensions.Configuration 0.6.0-alpha.21070.5
  • Dapr.Actors 1.6.0
src/Newbe.Claptrap.Template/Newbe.Claptrap.Template.csproj
src/Newbe.Claptrap.TestSuit/Newbe.Claptrap.TestSuit.csproj
  • FluentAssertions 6.2.0
  • NLog.Extensions.Logging 1.7.4
  • NUnit 3.13.2
  • NLog 4.7.13
  • Microsoft.Extensions.Logging.Console 5.0.0
  • Microsoft.Extensions.Logging 5.0.0
  • Microsoft.Extensions.Hosting 5.0.0
  • Autofac.Extras.Moq 6.1.0
src/Newbe.Claptrap.Tests/Newbe.Claptrap.Tests.csproj
  • NLog.Extensions.Logging 1.7.4
  • NLog 4.7.13
  • Microsoft.Extensions.Logging.Console 5.0.0
  • Microsoft.Extensions.Logging 5.0.0
src/Newbe.Claptrap/Newbe.Claptrap.csproj
  • System.Reactive 5.0.0
  • SmartFormat.NET 2.7.2
  • Microsoft.Extensions.Logging.Abstractions 5.0.0

  • Check this box to trigger a request for Renovate to run again on this repository

想实现CQRS,如何列表查询?

列表查询,肯定是在状态表查询了。
但是,看生成的claptrap_states中数据(state_data字段),都压缩成一个json字符串了,感觉这张表就是个snapshot,不是用来列表查询的,想要实现列表查询,是不是还要再自己维护一张数据状态表
或者有没有办法自定义claptrap_states,让具体数据不挤在一个字段里?

StorageOptions中的DatabaseName和ConnectionName只在Strategy为Known的时候生效

StorageOptions中的DatabaseNameConnectionName只在StrategyKnown的时候生效,
其他时候,都是 默认值claptrap,以mongodb的设置为例,是不是设置为

{
  DatabaseName = storageOptions.SchemaName ?? Defaults.SchemaName,
  ConnectionName = storageOptions.ConnectionName ?? Defaults.ConnectionName
}

比较合理?
否则想要自定义表来存储事件和状态,就只能设置为Known

StorageProvider是否封装的太死了

比如,我想用MongoDB来存储,想要记录查询的命令行,需要这样来初始化MongoClient:

var mongoConnectionUrl = new MongoUrl(connectionString);
var mongoClientSettings = MongoClientSettings.FromUrl(mongoConnectionUrl);
mongoClientSettings.ClusterConfigurator = cb => {
    cb.Subscribe<CommandStartedEvent>(e => {
        logger.Log($"{e.CommandName} - {e.Command.ToJson()}");
    });
};
var mongoCfgClient = new MongoClient(mongoClientSettings);

Newbe.Claptrap.StorageProvider.MongoDB,就很难实现这种扩展。
感觉,不用反射,改用依赖注入,像EfCore那样, 扩展个UseXXXDb((options) => { ... })方法,能更好的榨干Driver的功能。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.