Maintainable software without effort.

Overview

modern-clean-architecture

Gitter

Create services with a clean architecture with significantly less effort necessary than usual.

The main idea of Clean Architecture: Domain code and use cases are independent of frameworks, UI, the database and external services.

So building an application in a Clean Architecture style has a positive effect on maintainability:

  • You can test domain code and use cases without the framework, UI and infrastructure.
  • Technology decisions can change without affecting the domain code. And vice versa. It is even possible to switch to a new framework with limited effort.

Modern clean architecture reduces the effort to create a clean architecture through the following features:

  • Serialization of immutable requests and responses without serialization specific annotations.
  • No necessity for DTOs. You can use the same immutable value objects for requests/responses in web layer and use cases.
  • Generic endpoint that receives and forwards POST requests. New behavior and domain logic can be added and used without the need to write framework specific code.
  • Testing with a repository double that acts like a normal repository. No need for mocking it.

To start creating a modern clean architecture, visit the spring-behavior-web page.

For testing support, see the spring-behavior-test page.

For a working sample from frontend to backend, see the To Do List sample.

If you have any questions, see the Questions & Answers on the wiki. Or chat with me on Gitter.

Owner
Bertil Muth
I work as an agile coach and trainer. I started programming in the early 90s, then in asm, now mostly in Java.
Bertil Muth
音视频采集、编码、解码、封装、解封装,OpenGLES渲染图像、视频,滤镜、特效、转场特效

博客地址 掘金mirai License MIT License Copyright (c) 2021 JYangkai Permission is hereby granted, free of charge, to any person obtaining a copy of this so

null 30 Sep 8, 2021
Human Resources Management System

Human Resource Management System ( HRMS ) The following tools / languages will be used in this project; Java (Spring Boot based) - on the Backend side

Fatih Deniz 16 Aug 21, 2021
A Graphics2D implementation targeting Skija as a backend.

SkijaGraphics2D Version 1.0.2, 4 August 2021 Overview SkijaGraphics2D is an implementation of Java2D's Graphics2D API that targets Skia via the Skija

David Gilbert 21 Sep 3, 2021
Dynamically filters JPA entities with a simple query syntax. Provides JPA/Hibernate predicates and Spring Data specifications.

Spring Filter You need a way to dynamically filter entities without any effort? Just add me to your pom.xml. Your API will gain a full featured search

Turkraft 56 Sep 9, 2021
Spring Boot Full Stack with React for Professionals

Spring Boot allows to take an idea/prototype and turn it into a real thing in matters minutes hours of months and years. A lot of companies use Spring Boot because it's easy to setup, learn and write code very fast without having to setup the low level platform code. Recently, Netflix has decided to switch their entire backend to Spring Boot.

Amigoscode 26 Mar 25, 2021
Spring Boot Full Stack with React for Professionals

Spring Boot allows to take an idea/prototype and turn it into a real thing in matters minutes hours of months and years. A lot of companies use Spring Boot because it's easy to setup, learn and write code very fast without having to setup the low level platform code

Amigoscode 117 Sep 10, 2021
一个小而美的低代码全栈开发平台,一键生成后端api接口+前端页面代码+在线接口文档,节省50%的前后端开发的工作量。基于springboot +mybatis+spring security+vue 技术栈

YOMA [toc] 一个小而美的低代码全栈开发平台,一键生成后端api接口+前端页面代码+在线接口文档,节省50%的前后端开发的工作量,平台代码100%开源。平台适用于企业信息化、政务、中小型互联网等项目 平台采用前后端分离架构,基于如下流行的开源框架,易上手+便于后期维护 后端:https://

Shihao Ma 128 Sep 13, 2021
Human Resource Management System - Backend

Human Resource Management System - Backend File Structure ??️ Layered Architecture Entities - The package in which the assets are kept DataAcces - Pac

Tarık Kaan Koç 26 Aug 14, 2021
░▒▓█ 𝑯𝒖𝒎𝒂𝒏 𝑹𝒆𝒔𝒐𝒖𝒓𝒄𝒆𝒔 𝑴𝒂𝒏𝒂𝒈𝒆𝒎𝒆𝒏𝒕 𝑺𝒚𝒔𝒕𝒆𝒎 𝑷𝒓𝒐𝒋𝒆𝒄𝒕 █▓▒░

HRMS Human Resources Management System - Backend Gerçek email'e doğrulama mesajı gönderme BACKEND İSTERLERİ ?? : Madde 1 : İş Arayanlar sisteme kayıt

Sahil Rzayev 31 Jul 23, 2021
Java Camp Project

Hrms Java/React Camp Project ?? Req 13: BİR ADAYA AİT TÜM CV BİLGİSİ GÖRÜNTÜLENEBİLMELİDİR. ?? Req 12: ADAYLAR SİSTEME CV GİRİŞİ YAPABİLMELİDİR. Adayl

null 51 Jul 28, 2021
Java Design Patterns code examples

Java Design Patterns code examples Behavioral In software engineering, behavioral design patterns are design patterns that identify common communicati

Gaboso™ 3 Aug 13, 2021
💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

?? 为性能而生的万能服务器框架 ?? Ⅰ. zfoo简介 ?? 性能炸裂,天生异步,Actor设计思想,无锁化设计,基于Spring的MVC式用法的万能RPC框架 极致序列化,原生集成的目前二进制序列化和反序列化速度最快的 zfoo protocol 作为网络通讯协议 高可拓展性,单台服务器部署,

null 185 Sep 9, 2021
阳光沙滩网站的app

阳光沙滩App 阳光沙滩社区:A Lonely Cat 项目简介 该项目使用Kotlin、Java语言进行开发,采用MVVM架构 + Google Jetpack组件搭建项目,主要使用阳光沙滩社区开放Api实现相关功能,正在持续更新中... 项目体验 点击下载 Apk 进行体验(密码:5qlt) 请

null 11 Aug 18, 2021
The Apache Software Foundation 39 Sep 12, 2021
human resourse management software

HRMS İstihdam ve Kariyer Platformu Proje İsterleri Req 1 : İş Arayanlar sisteme kayıt olabilmelidir. Kabul Kriterleri: Kayıt sırasında kullanıcıdan ad

Ceren Susuz 23 Aug 18, 2021
Spring-boot application using redis as a caching database

Java Spring-boot application using Redis as a caching database Running Application Entities involved Two main entities are involved MasterHouse (maste

null 10 Jul 28, 2021
Get device location by telephony (SIM card) or settings without using GPS tracker.

react-native-device-country Get device location by telephony (SIM card) or settings without using GPS tracker Installation yarn add react-native-devic

dev.family 15 Aug 16, 2021
Korean Sentence Splitter

Korean Sentence Splitter Split Korean text into sentences using heuristic algorithm. 1. Installation Maven <dependency> <groupId>io.github.sangdee</

Sangji Lee 27 Aug 26, 2021
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

mall 友情提示 快速体验项目:在线访问地址。 全套学习教程:《mall学习教程》。 微服务版本:基于Spring Cloud Hoxton & Alibaba的项目:mall-swarm。 专属学习路线:学习不走弯路,整理了套非常不错的《mall专属学习路线》。 项目交流:想要加群交流项目的朋友

macro 52.6k Sep 17, 2021