All Projects β†’ sang-hyeon β†’ Plastic

sang-hyeon / Plastic

Licence: MIT license
This project provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Plastic

Sample Dotnet Core Cqrs Api
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
Stars: ✭ 1,273 (+4143.33%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 πŸ”₯
Stars: ✭ 228 (+660%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
MonolithicArchitecture
This repository presents an approach on how to build an application using Monolithic architecture, ASP.NET Core, EntityFrameworkCore, Identity Server, CQRS, DDD
Stars: ✭ 18 (-40%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
buchu
Use Cases - Uniform, auditable and secure use case library
Stars: ✭ 23 (-23.33%)
Mutual labels:  ddd, domain-driven-design, clean-architecture, usecase
EcommerceDDD
Experimental full-stack application using Domain-Driven Design, CQRS, and Event Sourcing.
Stars: ✭ 178 (+493.33%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+20600%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Clean-Architecture-Template
Configurable Clean Architecture template containing the DDD + CQRS approach for .NET Core applications.
Stars: ✭ 14 (-53.33%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (+126.67%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
educational-platform
Modular Monolith Java application with DDD
Stars: ✭ 124 (+313.33%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
Stars: ✭ 162 (+440%)
Mutual labels:  cqrs, ddd, domain-driven-design
Kreta
Modern project management solution
Stars: ✭ 177 (+490%)
Mutual labels:  cqrs, ddd, domain-driven-design
Messagebus
A MessageBus (CommandBus, EventBus and QueryBus) implementation in PHP7
Stars: ✭ 178 (+493.33%)
Mutual labels:  cqrs, ddd, domain-driven-design
Stove
Domain Driven Design oriented application framework, meets CRUD needs
Stars: ✭ 160 (+433.33%)
Mutual labels:  cqrs, ddd, domain-driven-design
typescript-ddd-example
πŸ”·πŸŽ― TypeScript DDD Example: Complete project applying Hexagonal Architecture and Domain-Driven Design patterns
Stars: ✭ 607 (+1923.33%)
Mutual labels:  cqrs, ddd, domain-driven-design
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+430%)
Mutual labels:  cqrs, ddd, domain-driven-design
Eventflow
Async/await first CQRS+ES and DDD framework for .NET
Stars: ✭ 1,932 (+6340%)
Mutual labels:  cqrs, ddd, domain-driven-design
Cqrs Clean Eventual Consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
Stars: ✭ 247 (+723.33%)
Mutual labels:  cqrs, ddd, clean-architecture
eventuous
Minimalistic Event Sourcing library for .NET
Stars: ✭ 236 (+686.67%)
Mutual labels:  cqrs, ddd, domain-driven-design
clean-architecture
Package for isolate your domain code from framework dependency using DDD concepts.
Stars: ✭ 93 (+210%)
Mutual labels:  ddd, domain-driven-design, clean-architecture
repository
[PHP 7] Implementation and definition of a base Repository in Domain land.
Stars: ✭ 26 (-13.33%)
Mutual labels:  ddd, domain-driven-design, clean-architecture

Build Main Nuget


Abstract

This project provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. For this, Command pattern is used.

All applications such as Web, CLI, GUI application can use this project. This can be part of the Usecase Layer, Domain Service Layer or CQRS.

The source generator introduced in .Net 5 is used to implement this Idea. If metaprogramming such as Source generator is properly used, it's possible to provide flexible source code that has not been provided by traditional programming. Generated source code has the same effect as the source code you wrote yourself because it will be injected at compile time.

The name of this project is Plastic.

Blog post
Blog post(ν•œκ΅­μ–΄)


Flow of the command

Platstic의 λͺ…λ Ή 흐름


Quick Start

Step 1. Specify The Command

// [CommandName("AddCommand")]
class AddCommandSpec : CommandSpecificationBase<int, int>
{
        public AddCommandSpec(IMyCalculator calculator)
        { 
            ...
        }

        public override Task<ExecutionResult<int>> ExecuteAsync(int param, CancellationToken token = default)
        {
            ...
        }
        
        public override Task<Response> CanExecuteAsync(int param, CancellationToken token = default)
        {
            return CanBeExecuted();
        }

}

Step 2. Add Plastic to IServiceCollection

void Configure(IServiceCollection services)
{
        var pipelineBuilder = new BuildPipeline(...);

        services.UsePlastic(pipelineBuilder);
}

Step 3. Use a generated command

class AddController : ControllerBase
{
        public AddController(AddCommand addCommand)
        {
                ...
                var result = addCommand.Execute( 1 );
        }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].