Magento 2 Design Patterns

Design Patterns são soluções generalistas para problemas recorrentes durante o desenvolvimento de um software. Não se trata de um framework ou um código pronto, mas de uma definição de alto nível em como solucionar um determinado problema.

No Magento 2 encontramos muitos Design Patterns e vamos discutir sobre alguns deles.

Na comunidade de programação, um Design Pattern é uma maneira recomendada de escrever código que inclui quando usar ou não o padrão.

Contratos de Serviços:

O Magento é um sistema modular que permite que desenvolvedores personalizem e sobreescrevam partes essenciais de sua estrutura. Essa flexibilidade, no entanto, tem um preço. A lógica de negócios tende a vazar pelas camadas do sistema Magento, que se manifesta como código duplicado e inconsistente.

O que é um contrato de serviço?

Um contrato de serviço é um conjunto de interfaces PHP definidas para um módulo. Um contrato de serviço inclui interface de dados, preservando a integridade dos dados e interface de serviços, que ocultam detalhes da lógica de negócios de solicitantes de serviço, como controllers, web services e outros módulos.

Se os desenvolvedores definem interfaces de dados e serviços de acordo com um Design Pattern, o resultado é uma API durável e bem definida que outros módulos e extensões de terceiros podem implementar por meio de recursos do Magento.

Public interfaces & API:

Um public interface é um conjunto de códigos que os desenvolvedores podem chamar, implementar ou construir como um plug-in. O Magento garante que este código não irá mudar em versões posteriores sem uma grande mudança de versão.

Public interface para um módulo são marcadas com @api annotation.

Uma API (application programming interface) interface de programação de aplicativos é um conjunto de interfaces e suas implementações que um módulo fornece para outros módulos.

Tipos de API:

  • Estrutura de diretórios;
  • Estrutura dos arquivos de configuração;
  • Eventos;
  • API do cliente;
  • API do provedor (SPI).

Para mais informações: Contrato de Serviços e Public Interface e API

Dúvidas? Posta aí!!!

Um abraço.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *