SOLID

Princípio SOLID

O Princípio SOLID é um conjunto de cinco princípios de design de software criados por Robert C. Martin. Eles ajudam a criar código mais limpo, legível e fácil de manter. S de Single Responsibility, O de Open/Closed, L de Liskov Substitution, I de Interface Segregation e D de Dependency Inversion. Seguir esses princípios pode tornar o software mais flexível e robusto. #SOLID #designde software

Princípios e Acrônimos: SPOT, DRY, AHA, etc.

Entenda melhor os Princípios de design system e os acrônimos comuns: SPOT, SSOT, DRY, AHA, KISS, WET, YAGNI, SOLID, etc.

Essas siglas e acrônimos se espalham com muita facilidade por serem projetados para serem lembrados. Alguns soam bobos por forçarem muito a barra para gerar o encaixe do do explicação com o acrônimo. Além disso, alguns deles são simplesmente ideias gerais e outros são claros e definem pontos específicos na construção de projetos. Assim o artigo Princípios e Acrônimos: SPOT, DRY, AHA, etc. vai dar uma pequena visão geral sobre os mais utilizados hoje em dia. No mais, acho que eles nem sempre têm relação específica com o desenvolvimento, mas com a definição de projetos ou até mais longe: na condução das ações da vida.

Domain Driven Design tático

Os 7 padrões do DDD Tático

O DDD pode ser observado por dois grandes pontos de vista: o estratégico e o tático. O DDD estratégico oferece elementos conceituais robustos que ligam a estruturação do software com as características particulares do negócio. Já o Domain Driven Design tático dá meios para que implementações reais, independentes de linguagem de programação, consigam garantir a entrega das necessidades estratégicas. Muitos veem o DDD apenas do ponto de vista tático – com seu conjunto de Patterns – mas entenda que somente esse ponto sem a estratégia há um empobrecimento de seu uso e, de certo modo, destrói-se a implementação do DDD. Veja nesse artigo os 7 padrões do DDD tático e como eles podem ser utilizados.

Desvendando o Context Map

Entenda de uma vez por todas o que é Domain Driven Design estratégico e as nove possíveis relações entre os contextos. O DDD é uma abordagem completa para lidar com softwares grandes que tem como premissa o devido entendimento da complexidade do negócio utilizando a chamada Linguagem ubíqua. A partir daí se constrói mapas com domínios e sub-domínios. E continuando, a partir do mapa de domínios é possível extrair estruturas menores chamadas de contexto.

Domain Driven Design estratégico

DDD - Domain Driven Design estratégico

Você também acha que usa DDD só porque tem pastinhas específicas organizando o código? Pensou errado!A estratégia da organização norteia tanto a estrutura corporativa (negócios existentes, modelos de negócio, fluxo de caixa, margens, etc.) quanto a própria estrutura do software, uma vez que ela tende a refletir tais características.Esse artigo vai da estratégia da organização até a estratégia associada ao DDD. Mas se seu objetivo é querer entender elementos como repository, agregações, value-objects ou mesmo estruturas de pastas comumente utilizadas em projetos desse tipo, entenda que esse artigo não entregará tais características. Pelo contrário, ele entregará os passos anteriores que fundamentam o uso do DDD numa empresa. Uma vez que entendo que esses elementos sem a estratégia não são DDD, mas tão somente nomes de pastas ou classes. De todo modo escreverei em algum momento um artigo sobre eles.

Diferença entre TLS e mTLS: O que você tem que saber

Diferença entre TLS e mTLS

SSL é obsoleto mas você não precisa ser. Mas qual é a diferença entre eles e como isso pode ser utilizado em sistemas distribuídos; De que modo; Quais protocolos e padrões são utilizados nessa indústria e de que modo eles e as CAs (Unidades certificadoras) suportam as aplicações modernas? Neste artigo, tentaremos esclarecer de alguma maneira perguntas como essas, como: “Diferença entre TLS e mTLS: O que você tem que saber”.

Gossip Protocol e a manutenção do estado em sistemas distribuídos

Gossip Protocol

Gossip Protocol e a manutenção do estado em sistemas distribuídos: O Gossip Protocol é um protocolo de disseminação de informações. Ele permite a manutenção de atualizações do estado em sistemas distribuídos. Desse modo, isso significa que ele garante que todos os nodos de um cluster possuam a mesma informação, garantindo o estado entre eles. Ao mesmo tempo isso é conseguido através de um mecanismo de propagação de informação. Desse modo cada nó envia sua informação atualizada para um conjunto específico de outros nós na rede. Assim esses nós retransmitem essas atualizações para outros nós, criando uma espécie de efeito de bola de neve (Ou melhor, fofoca, que é a tradução da palavra Gossip).