It is a behavioral project pattern that transform a order to an independent object that contains all the necessary information.
An important observation is that the command has all the data to process the request.
I will not do specifics implementations like ClientRepository. Instead of this, I will just use the interface.
First we need to create the interface ICommand, which will contain all the…
Well, let’s start from the beginning! Sir Tony Hoare is who created the null reference, in 1965. Unitl now, Null checks is completly a requirement when we develop something.
It is usually that we very commom we see null checks, like this:
public void CreateClient(IClient client)
{
if (client == null) throw new NullReferenceException();
if (client.Name == null) throw new NullReferenceException(); // ... do something
}
But, what if you could guarantee that the object was never null?
For this, watch below:
First, we need to define a default object:
public class NullClient : IClient
{
public int Id =>…
Vamos então falar de um “side effect” específico?
Exceções são um tipo de “side effects”, onde, muitas vezes, não conseguimos controlar o que será disparado como exceção em uma aplicação.
Diante disso, vamos falar sobre as técnicas/preferências com relação a utilização do bloco try…catch:
Fala pessoal, tudo joia 😁? Resolvi escrever este artigo como forma de compartilhar o que eu puder aprender no curso Aplicando Princípios Funcionais em C#, do professor Vladimir Khorikov, no Pluralsight 🤓.
Bom, vamos lá 🚀!
Programação funcional é mais um conceito de paradigma de desenvolvimento, assim como outros que já existem como Orientação a Objetos e Estruturada. Mas o que isso significa? Basicamente, paradigmas de desenvolvimento é uma forma de expressar como é organizado o código.
Bom, no paradigma funcional, em modo geral, quebramos nossos processamentos em várias funções menores onde cada uma é executada após outra, em sequência…
Vamos falar um pouco de Azure DevOps?
Quem aí trabalha com esta ferramenta, seja na sua empresa ou equipe, deve ter percebido o valor e o poder dela. Você consegue fazer basicamente tudo nesta ferramenta, como gerenciamento de equipe, controle de repositórios de código e Continuous Integration/Continuous Deployment (CI/CD).
Com relação ao CI/CD, conseguimos criar nossas Pipelines utilizando tanto o modo clássico (arrastar caixinhas) quanto em YAML, além de poder fazer pipelines diferentes ou juntas. E é sobre isso que vamos aprofundar hoje!
O CI/CD é, simplesmente, a criação de pipelines que ficam responsáveis por analisar a integração de sua…
Many times we have some situations that require our application to attend to many clients. In this context, we have some techniques to attend this, but we will talk about three architectural strategies:
This technique consists of providing all of the new infrastructure necessary to stand-up an application. So, this signifies that you create a new instance of applications, a new database, and all other necessary things.
Clearly, you can note that the new client wins a new and completely isolated application. …
For this article, we will focus on Hybrid-Tenant, according to the before part of this article. So, let’s see our scenario that we will build:
The complete solution will be:
Agora que sabemos, teoricamente, o que é uma Arquitetura Hexagonal, vamos a parte prática 🚀!
Para isso, desenvolveu-se uma API em .NET Core 3.1 e utilizou-se o Visual Studio 2019 Community.
O modelo de negócio será simples. Teremos, apenas, algumas operações referentes a times de futebol, tais como:
Antes de inciarmos, vale ressaltar um ponto. Para desenvolver esse tipo de aplicação é importante saber, muito bem, o que é S.O.L.I.D., Injeção de Dependência e Inversão de Controle.
…
Antes de começarmos a adentrar no assunto de arquitetura hexagonal, vamos, primeiro, entender alguns conceitos antes 📚.
Acredito ser interessante sabermos, antes de tudo, o que é Arquitetura de Software e no que isso nos auxilia. Por trás de todo sistema há uma estrutura organizacional envolvida, a qual chamamos de Arquitetura de Software. Tal conceito serve para poder ajudar a compreender a diferença entre linguagens, sistemas operacionais, ambientes, experiência de seu time tecnológico e qualquer outro componente tecnológico que possa fazer parte de uma solução. …
Bachelor in Computer Science, MBA in Software Architecture and .NET Developer.