Classes anêmicas
Contêm apenas propriedades sem lógica de negócio
Classes ricas
Contêm não apenas propriedades, mas também comportamentos relevantes para o domínio do problema em questão
Serverless
Serverless é um modelo de desenvolvimento nativo em nuvem
Singleton
Significa que apenas uma única instância será criada. Essa instância é compartilhada entre todos os componentes que a possuem como dependência. A mesma instância é, portanto, usada sempre.
Scoped
Significa que a instância será criada uma vez por escopo. Um escopo é criado em cada requisição realizada para o aplicativo. A instância é, portanto, compartilhada entre todos os componentes utilizados no escopo da requisição.
Transient
Significa que a instância será criada toda vez que for solicitada. A instância é, portanto, criada a cada solicitação por componente e nunca é compartilhada.
Decomposição de Domínio:
- Definir Eventos
- Evento: é algo imutável, que aconteceu no passado. E parte de uma alteração de estado (pedido realizado).
- Definir Comandos
- Comando: é um*a operação que efetua alguma alteração no sistema. Uma operação que cria intencionalmente um efeito colateral (*comand WHEN event THEN)
- Definir Agregados
- Agregados: é um cluster de objetos associados que tratamos como uma unidade para fins de alterações de dados.
- Definir Contexto:
- Contexto: A aplicabilidade delimitada de um modelo específico
AWS:
- Serviços básicos:
- EC2 (máquinas virtuais) | Azure VM
- ECS | Kubernetes
- S3 (armazenamento) | Azure Blog Storage
- Amazon SQS (filas) e SNS (notificação - tópicos) | Azure Service Bus
- RDS (banco de dados gerenciado) | Azure SQL Server
- Lambda (serverless) | Azure Function (disponibilidade / scale / tempo de resposta rápida)
- AWS CloudWatch | Azure Monitor
- VPC (rede)
- IAM (gerenciamento de acesso)