A collection of links to various content related to software development, engineering and architecture
-
dotNet - YouTube Channel
https://www.youtube.com/c/dotNET -
dotNet - Blog
https://devblogs.microsoft.com/dotnet/ -
dotNet Architecture Guides - Site
https://dotnet.microsoft.com/en-us/learn/dotnet/architecture-guides -
Microsoft Developer - YouTube Channel
https://www.youtube.com/c/MicrosoftDeveloper -
dotNet Foundation - YouTube Channel
https://www.youtube.com/c/NETFoundation
-
NDC Conferences
https://www.youtube.com/c/NDCConferences -
Domain-Driven Design Europe
https://www.youtube.com/channel/UC3PGn-hQdbtRiqxZK9XBGqQ
https://dddeurope.com/ -
Explore DDD
https://www.youtube.com/exploreddd
http://exploreddd.com/ -
GOTO Conferences
https://www.youtube.com/c/GotoConferences
-
Nick Chapsas
https://www.youtube.com/c/Elfocrash
https://nickchapsas.com/ -
Mark Richards
https://www.youtube.com/channel/UC-Z7T0lAq_xECevIz8E5R5w
https://developertoarchitect.com/ -
Simon Brown
https://simonbrown.je/ -
Chris Richardson - Microservices.io
https://microservices.io/index.html -
Vaughn Vernon
https://www.youtube.com/c/VaughnVernon/playlists
https://kalele.io/ -
Sam Newman
https://samnewman.io/ -
Olaf Zimmermann (Doc SoC)
https://docsoc.medium.com/about
https://api-patterns.org/
https://ozimmer.ch/blog/ -
Andrew Lock | .NET Escapades
https://andrewlock.net/ -
Mathias Verraes
https://verraes.net/ -
Oskar Dudycz
https://event-driven.io/en/
https://github.com/oskardudycz -
Elemar JR
https://elemarjr.com/ -
Herberto Graça
https://herbertograca.com/tag/software-architecture/ -
Jimmy Bogard
https://jimmybogard.com/
https://lostechies.com/ -
Ardalis is Steve Smith
https://ardalis.com/ -
Gunnar Peipman
https://gunnarpeipman.com/
-
The C4 model for visualising software architecture
https://c4model.com/ -
Create C4 models and diagrams
https://www.diagrams.net/blog/c4-modelling -
O modelo C4 de documentação para Arquitetura de Software
https://www.infoq.com/br/articles/C4-architecture-model/ -
PlantUML + C4 Model
https://github.com/plantuml-stdlib/C4-PlantUML
https://plantuml.com/
O que é BOLOVO?
BOLOVO é um padrão de arquitetura em camadas legado do Java para trabalhar com sistemas distribuídos (n-tier) onde os objetos dos processos não mantinham seu estado.
Este nome foi cunhado por Phil Calçado e significa Bussiness Objects, Layers Objects e Value Objects.
Este tipo de arquitetura leva ao desenvolvimento procedural onde componentes de uma camada mais exterior, os layer objects, chamam funções de objetos de negócio que processam os dados e criam os objetos de valores, os quais são retornados para os layers objects.
Na prática, value objects são classes que contém apenas informações (campos propriedades, sem comportamento), bussiness objects são classes que tem apenas métodos (ou seja, as procedures) além da dependência de outros serviços (de bussiness ou layer). Por fim, layer objects são classes que conectam as pontas (ou componentes).
Arquitetura orientada a BOLOVO, ou programação procedural, é um forte fator para criação de Big Ball of Mud.
Muitas pessoas (principalmente no Brasil) apresentam a arquitetura BOLOVO com forma de implantar o Domain-Driven Design, o que não passa de vigarice. É comum o Domain Layer virar Value Objects, Application Layer virar Bussiness Objects, e outras camandas Layer Objects.
Uma outra forma falsa de apresentar uma implementação para a arquitetura em camadas do DDD é fazendo um de-para com a antiga arquitetura BLL/DAL, utilizada em aplicativos Windows Forms onde as camadas eram divididas em Presenter Layer, Bussiness Login Layer (BLL) e Data Access Layer (DAL). BLL vira Application Layer e DAL é dividida em Domain Layer e Infra. Esta arquitetura veio do VB para .Net e também foi levada ao Asp.Net. Como a BOLOVO, ela tende ao desenvolvimento procedural e a criação de Big Ball of Mud.
- O que é BOLOVO - Slides - Article
https://pt.slideshare.net/MayogaX/bolovo-no-use-por-a
https://www.slideshare.net/pcalcado/in-portuguese-arquitetura-java-em-2007
https://www.alura.com.br/artigos/o-que-e-modelo-anemico-e-por-que-fugir-dele
https://www.alura.com.br/artigos/nao-aprender-oo-getters-e-setters
http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/
-
Alistair Cockburn - Hexagonal Architecture - Blog
https://alistair.cockburn.us/hexagonal-architecture/ -
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Blog
https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/ -
Reflecting architecture and domain in code
https://herbertograca.com/2019/06/05/reflecting-architecture-and-domain-in-code/ -
Arquitetura Gritante
https://blog.dyegomaas.com.br/posts/artigo-arquitetura-gritante/ -
Arquitetura Gritante com MediatR
https://blog.dyegomaas.com.br/posts/artigo-arquitetura-gritante-com-mediatr/ -
Ian Cooper - Conference - Decoupling from ASP.NET - Hexagonal Architectures in .NET
https://skillsmatter.com/skillscasts/5744-decoupling-from-asp-net-hexagonal-architectures-in-net -
Phil Calçado - How to write a Repository - Blog
https://philcalcado.com/2010/12/23/how_to_write_a_repository.html -
Phil Calçado - Pattern: Using Pseudo-URIs with Microservices - Blog
https://philcalcado.com/2017/03/22/pattern_using_seudo-uris_with_microservices.html -
Cinco coisas que todo desenvolvedor de software deve saber sobre Arquitetura de Software - Blog
https://www.infoq.com/br/articles/architecture-five-things/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
O Papel do Arquiteto de Solução - Blog
https://www.infoq.com/br/articles/papel-arquiteto-solucao/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
Arquitetura “gritante” e a organização do código-fonte - Blog
https://robsoncastilho.com.br/2020/07/25/arquitetura-gritante-e-a-organizacao-do-codigo-fonte/ -
Enterprise Integration Patterns - Blog
https://www.enterpriseintegrationpatterns.com/index.html -
SOFTWARE DELIVERY PROCESS - Blog
https://www.goeleven.com/guides/software-delivery-process/?utm_source=substack&utm_medium=email -
Clean Architecture with ASP.NET Core 3.0 - Jason Taylor - NDC Sydney 2019
https://www.youtube.com/watch?v=5OtUm1BLmG0
-
Eric Evans — Tackling Complexity in the Heart of Software - YouTube
https://www.youtube.com/watch?v=dnUFEg68ESM -
DDD and Microservices: At Last, Some Boundaries! - YouTube
https://www.youtube.com/watch?v=sFCgXH7DwxM -
Eric Evans - Good Design is Imperfect Design - YouTube
https://www.youtube.com/watch?v=lY54TmmEllY -
Modelling Time - Eric Evans - DDD Europe 2018 - YouTube
https://www.youtube.com/watch?v=T29WzvaPNc8 -
Language in Context - Eric Evans - DDD Europe 2019 - YouTube
https://www.youtube.com/watch?v=xyuKx5HsGK8&list=PLf9p-N3ltMTuuYk1zpsjB-D-6pxPkGvwj -
Bounded Contexts - Eric Evans - DDD Europe 2020 - YouTube
https://www.youtube.com/watch?v=am-HXycfalo&list=PLf9p-N3ltMTvfEj8KNtOomc9algcX0WtG -
Q&A - Eric Evans & Cyrille Martraire - DDD Europe 2021 - YouTube
https://www.youtube.com/watch?v=MWhs97tUvvw&list=PLf9p-N3ltMTsGX65ZJfnZ5wz8L_FUke-d&index=2 -
Practical DDD: Bounded Contexts + Events => Microservices - Podcast
https://www.infoq.com/presentations/microservices-ddd-bounded-contexts/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
Definindo Bounded Contexts — Eric Evans durante o DDD Europa - Blog
https://www.infoq.com/br/news/2019/07/bounded-context-eric-evans/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
Vaughn Vernon - Domain-Driven Design Europe 2016 - YouTube
https://www.youtube.com/watch?v=uJ_eyV0JfzE&list=PLVOVVQcwppnF19weqiHCsVW4kS6e1QHCt&index=14 -
Vaughn Vernon - Reactive DDD Modeling Uncertainty - YouTube
https://www.youtube.com/watch?v=F63mKjYnF4M&list=PLVOVVQcwppnF19weqiHCsVW4kS6e1QHCt&index=12 -
Vaughn Vernon - How to Use Aggregates for Tactical Design - YouTube
https://www.youtube.com/watch?v=Xf_aLAK1RfE&list=PLVOVVQcwppnF19weqiHCsVW4kS6e1QHCt&index=5 -
Eric Evans - Keynote: DDD Isn't Done: A Skeptical, Optimistic, Pragmatic Look - YouTube
https://www.youtube.com/watch?v=R2IAgnpkBck -
Strengthening your domain: a primer - Blog
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/ -
DDD Crew - GitHub - Article
https://github.com/ddd-crew
-
11 erros comuns em arquiteturas orientadas a eventos e como evitá-los
https://www.infoq.com/br/articles/11-erros-eda-como-evitar/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
Pentaho Data Integration - ETL em Software Livre
https://www.infoq.com/br/articles/pentaho-pdi/?itm_source=infoq&itm_campaign=user_page&itm_medium=link -
Criando uma arquitetura para ingestão de dados com ksqlDB, Schema Registry e Kafka Connect
https://www.infoq.com/br/articles/apache-kafka-ksqldb/?itm_source=infoq&itm_campaign=user_page&itm_medium=link
-
Command Query Separation (CQS) - A simple but powerful pattern - Blog
https://www.dotnetcurry.com/patterns-practices/1461/command-query-separation-cqs -
Apply CQRS and CQS approaches in a DDD microservice in eShopOnContainers - Blog
https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice -
Assinando eventos
https://learn.microsoft.com/pt-br/dotnet/architecture/microservices/multi-container-microservice-net-applications/subscribe-events -
A Saga on Sagas
https://learn.microsoft.com/pt-br/previous-versions/msp-n-p/jj591569(v=pandp.10) -
CQRS facts and myths explained
https://event-driven.io/en/cqrs_facts_and_myths_explained/?utm_source=substack&utm_medium=email -
CQRS Journey
https://learn.microsoft.com/pt-br/previous-versions/msp-n-p/jj554200(v=pandp.10)