Clean-architecture-guide - Guia sobre Clean Architecture criado a partir dos meus estudos sobre o tema.

Overview

Clean Architecture Guide

Arquitetura são as práticas e fundamentos de como organizamos um sistema. Tem relação e como os componentes estão relacionados entre em si e também nos requisitos de negócio de nossa aplicação. Auxilia na evolução do software, pois ajuda a manter o código limpo e organizado. Também estão relacionados com arquitetura os seguintes Requisitos não funcionais:

  • Performance
  • Escalabilidade
  • Disponibilidade
  • Confiabilidade
  • Segurança
  • Manutenibilidade
  • Extensibilidade (adicionar novas funcionalidades)

Clean Architecture é uma arquitetura de software que visa resolver os problemas de maneira organizada e eficiente. Facilita a isolar o código de domínio da aplicação.

Principais vantagens observadas no uso de Clean Architecture:

  • Isolar o código de domínio da aplicação
  • Inversão de dependências
  • Favorece boas práticas de Orientação a Objetos
  • Código de domínio com alta "testabilidade"
  • Independência de frameworks e detalhes de infraestrutura

Factories

Parecido com o padrão de projeto Factory Method, ou o padrão Builder. É uma classe responsável por criar um objeto (no caso do tipo Aluno);

Domínio

É o coração do negócio, onde estão as regras da nossa aplicação.

Domain Driven Design: Conceito de modelar a aplicação pensando inicialmente no domínio. Facilitando assim as alterações realizadas nas "bordas" da aplicação, por exemplo, facilitar a alteração na forma como interagimos com o sistema, sendo por API, linha de comando ou etc.

Repositório

Termo utilizado para falar sobre persistência de dados. Utilizando esta abordagem isolamos o domínio da infraestrutura.

Serviço

Representar uma classe que executa alguma ação que não pertence a nenhuma Entidade ou Value Object.

Projeto

Exemplos desenvolvidos no projeto School neste repositório.

Fontes


Developed by Jean Jacques

You might also like...

Desafios-bootcamps-dio - Desafios em C#, Java, JavaScript, Kotlin, Python e Ruby dos Bootcamps da Digital Innovation One

Desafios-bootcamps-dio - Desafios em C#, Java, JavaScript, Kotlin, Python e Ruby dos Bootcamps da Digital Innovation One

Desafios dos Bootcamps da Digital Innovation One Aqui você vai encontrar todos os desafios dos bootcamps que realizei da Digital Innovation One. Os có

Dec 31, 2022

Reverse engineer and rewrite real mode dos programs!

Reverse engineer and rewrite real mode dos programs!

Spice86 - A PC emulator for real mode reverse engineering Spice86 is a tool to execute, reverse engineer and rewrite real mode dos programs for which

Nov 9, 2022

A repository that will guide in making your first contribution.

A repository that will guide in making your first contribution.

Java Programs A Repository that will guide you in making your first contribution. How to contribute Fork the project Make any changes in your forked r

Jan 6, 2023

This repository should serve as a guide to everybody who wants to study software and hardware for embedded systems but doesn't know where to start.

Roadmap to Embedded Engineering This repository should serve as a guide to anyone who wants to study software and hardware for embedded systems but do

Jan 4, 2023

The code examples of the "Effective Software Testing: A Developer's Guide" book

Effective software testing This repository contains the code examples of the Software Testing: A Developer's Guide book, by Maurício Aniche. Each fold

Dec 29, 2022

Crud sobre el mundo del cine, y listado de películas que un usuario puede tener en su casa.

Crud sobre el mundo del cine, y listado de películas que un usuario puede tener en su casa.

FilmHome 🎬 🎞️ Crud sobre el mundo del cine, y listado para gestionar las películas que un usuario puede tener como colección en su casa. 📽️ VIDEO Y

May 16, 2022

Curso que apresenta conceitos introdutórios sobre como podemos trabalhar com debugging na linguagem Java.

Debugging Java Curso que apresenta conceitos introdutórios sobre como podemos trabalhar com debugging na linguagem Java. Curso este ministrado por mim

Jan 4, 2023

Aula da série Design Patterns 4Devs sobre os padrões singleton e monostate

Aula da série Design Patterns 4Devs sobre os padrões singleton e monostate

DesignPatterns4Devs - Singleton & Monostate Nessa aula o intuíto é abordar um padrão bem polêmico na comunidade dev: Singleton. Apesar de ser um consi

Sep 23, 2022

Buildable src reconstructed from the clean Phobos 1.9.0 jar

CLEAN_Phobos_1.9.0-BUILDABLE-SRC Buildable src reconstructed from the clean Phobos 1.9.0 jar. Full buildable and functional, jar in releases is built

Dec 28, 2022
Comments
Owner
Jean Jacques Nascimento Barros
Software Engineer at @itau | Gold Microsoft Learn Student Ambassador
Jean Jacques Nascimento Barros
参考 DDD/Clean Architecture 设计理念,整合 Spring Boot/Spring Security/Mybatis Plus/Vavr 的 Spring Realworld 应用案例

Demo · 更多项目 · 参考资料 ms-spring-ddd-examples Unified Domain-driven Layered Architecture for MicroService Apps,试图探索一套切实可行的应用架构规范,可以复制、可以理解、可以落地、可以控制复杂性的指导

王下邀月熊 19 Sep 23, 2022
A React Native project starter with Typescript, a theme provider with hook to easy styling component, a folder architecture ready and some configs to keep a codebase clean.

React Native Boilerplate Folder structure : src ├── assets │   ├── audios │   ├── fonts │   ├── icons │   └── images ├── components │   ├── Layout.tsx

LazyRabbit 23 Sep 1, 2022
This project illustrates TDD & Clean Architecture implementation in Java

Banking Kata - Java Overview This project illustrates TDD & Clean Architecture implementation in Java, showing the Use Case Driven Development Approac

Valentina Cupać 191 Dec 28, 2022
Spring Boot Clean Architecture - Iran Plate

Spring Boot Clean Architecture Sample Iran Plate Location Finder I used the Clean Architecture in my project. In this method we can develop our projec

Mahdi Amirabdolahi 4 Jul 6, 2022
An example to show how you could use clean architecture and DDD elements with Camunda.

Camunda DDD and Clean Architecture An example to show how you could use clean architecture and DDD and their advantages with Camunda. I also wrote a b

Luc Weinbrecht 10 Dec 15, 2022
Projeto criado na semana Spring React organizado pela escola Dev Superior com foco na prática/aprendizado das tecnologias Spring e React.

DSVendas Projeto criado na semana Spring React organizado pela escola Dev Superior com foco na prática/aprendizado das tecnologias Spring e React. htt

João Gabriel 3 May 18, 2021
Jogo criado em java para disciplina de Linguagem de Programação III

Mr.Cat-JOGO Jogo criado em java para disciplina de Linguagem de Programação III O jogo é um cookie Clicker feito em Java para disciplina de Linguagem

Claudia 5 Dec 22, 2021
Projeto criado no Santander Dev Week 2022 + DIO com o intuito de desenvolver uma camada de APIs (backend) que será utilizada pelo frontend.

Santader Dev Week + DIO 2022 - APIs Backend da aplicação de movimentação financeira Este repositório contém o backend da aplicação que foi desenvolvid

Pedro Antunes Negrão 2 Sep 7, 2022
repositório criado para o trabalho de LP2

Trabalho LP2 Repositório criado para o trabalho de LP2 Grupo : Huilde Viana, João Pedro Dantas e João Filipe do Nascimento Descrição: O projeto consis

Huilde Viana Junior 2 Jul 20, 2022
ReDoSHunter: A Combined Static and Dynamic Approach for Regular Expression DoS Detection

ReDoSHunter ReDoSHunter is a combined static and dynamic approach for regular expression DoS detection. LATEST NOTE (updated at 2021.09.13): ReDoSHunt

Yeting Li 43 Dec 23, 2022