Core Entity num Sistema Modular em Golang
Ortiz de Arcanjo António David

Ortiz de Arcanjo António David @ortizdavid

About: Software Engineer

Location:
Luanda, Angola
Joined:
Jun 17, 2021

Core Entity num Sistema Modular em Golang

Publish Date: Jan 21
-1 0

Conceitos

  • Módulo: Agrupamento de funcionalidades relacionadas a um componente de um software.
  • Core Entity (Entidade Central): Núcleo ou base de funcionalidades de um módulo.
  • Feature (Funcionalidade): Acção, operação ou regra de negócio relacionada à entidade.

Estrutura

  • O sistema é composto por Módulos.
  • Um módulo é composto por Core Entities.
  • Uma Core Entity é composta por Features.

Hierarquia

Sistema Modular
├── Módulo
│ ├── Core Entity
│ │ ├── Feature
│ │ └── Feature
│ └── Core Entity
└── Módulo

Cenário

Se um sistema possui os módulos de Autenticação e Configuração, as entidades centrais podem ser:

  • Autenticação: Usuário, Perfil, Permissões, Usuários por actividade, etc.
  • Configuração: Configuração Básica, Configuração de Email e Configurações da Empresa.

Sugestão

A inicialização das flags para as entidades centrais pode ser feita pela base de dados.

Essa abordagem permite maior flexibilidade, facilitando alterações e a adição de novas entidades centrais sem modificar o código directamente.

Código-fonte: https://github.com/ortizdavid/golang-modular-software

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Comments 0 total

    Add comment