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.

You might also like...

A Network Observer which would provide maximum details about the network to the administrator on their screen without knowing to their users.

A Network Observer which would provide maximum details about the network to the administrator on their screen without knowing to their users.

Smart-Network-Observer-With-Energy-Framework A Network Observer which would provide maximum details about the network to the administrator on their sc

Jul 15, 2022

The Google code scanner API provides a complete solution for scanning codes without requiring your app to request camera permission.

Android Google Code Scanner The Google code scanner API provides a complete solution for scanning codes without requiring your app to request camera p

Nov 23, 2022

Software developer training camp

Java-Camp Software developer training camp 1. Java Temelleri - 1 2. Java Temelleri - 2 3. Java Nesne Yönelimli Programlamaya Giriş 4. Java Nesne Yönel

Dec 19, 2022

human resourse management software

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

Dec 20, 2022

Team project within the course of Software System Design and Analysis.

InnoBookCrossing - Application for sharing books at Innopolis Description The application is designed to help people share books with each other. All

Oct 22, 2022

Ferramenta de Gerenciamento de Projetos de Software utilizando a metodologia Ágil Scrum e Gamification com Webflux e Mongodb

Task Flow Application Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just

Oct 22, 2021

Design Patterns: Elements of Reusable Object-Oriented Software

GoF Design Patterns Design Patterns: Elements of Reusable Object-Oriented Software Task 싱글톤패턴 싱글톤 패턴 구현 방법을 깨뜨리는 방법 리플렉션을 통해 싱글톤 패턴을 깨뜨리다 역직렬화를 통해 싱글톤

Jul 19, 2022

Entornos de Desarrollo - 05 Clean Code y TDD: Pruebas de Software. 1DAM. Curso 2021-2022.

Entornos de Desarrollo - 05 Clean Code y TDD: Pruebas de Software. 1DAM. Curso 2021-2022.

Entornos de Desarrollo - 04 Clean Code y TDD: Pruebas de Software Tema 05. Clean Code y TDD: Pruebas de Software. Curso 2021/2022. Contenidos Introduc

Nov 3, 2022

This project was created as a simple example to show how we can implement the hexagonal architecture(software design) proposed by Netflix.

This project was created as a simple example to show how we can implement the hexagonal architecture(software design) proposed by Netflix.

Netflix Hexagonal Architecture Table of contents About the project Description Built with Installation Requirements to run Usage information Run Licen

Dec 20, 2022
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
Tuya 37 Dec 26, 2022
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 46 Nov 29, 2022
A simple app to use Xposed without root, unlock the bootloader or modify system image, etc.

中文文档 Introduction VirtualXposed is a simple App based on VirtualApp and epic that allows you to use an Xposed Module without needing to root, unlock t

VirtualXposed 14k Jan 8, 2023
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.

Tinker Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstalling apk. Getting started Add t

Tencent 16.6k Dec 30, 2022
The goal of the project is to create a web application using Java EE and database (PostgreSQL) without connecting a modern technology stack like spring boot and hibernate

About The Project SignIn page SignUp page Profile page The goal of the project is to create a web application using Java EE and database (PostgreSQL)

Islam Khabibullin 2 Mar 23, 2022
InstaKill is a shitty addon for the Meteor Client created without knowledge of the code

InstaKill About InstaKill is a shitty addon for the Meteor Client created without knowledge of the code. The only thing this addon adds is InstaKill e

null 4 Jun 15, 2022
QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands.

QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands. In fact, none of the commands that QuickShop provides are ever needed by a player.

Ghost_chu 24 Dec 30, 2022
Run Java plugins without compiling them

Run Java plugins without compiling them! Usage Under plugins/SkriptJava, you can put your .java files to run when the server is up and loaded. This pl

Rance Andres 5 Sep 5, 2022
A service that executes binaries for Kodi's addon Elementum on Android without a W^X violation.

ElementumService A service that executes binaries for Kodi's addon Elementum on Android without a W^X violation. Download Use source https://StefanIlc

null 58 Dec 31, 2022
Winfoom is an HTTP(s) proxy server facade that allows applications to authenticate through the proxy without having to deal with the actual handshake.

winfoom Basic Proxy Facade for NTLM, Kerberos, SOCKS and Proxy Auto Config file proxies To help this project please give it a star ⭐ Overview Winfoom

Eugen Covaci 56 Dec 8, 2022