---
schema_version: "1"
id: 5a201d4a703acc280d6672539f5edacecf1f85414233510a9211ce83b46fd3fd
title: Composável – Capacidade de empacotamento
collection: architect
version: next
locale: pt-br
portal_url: https://docs.salesforce.com/architect/next/pt-br/well-architected-tools/guides/adaptable-packageability.md
canonical_url: https://staging.architect.salesforce.com/docs/architect/pt-br/well-architected-tools/guide/adaptable-packageability.html
source_site: staging.architect.salesforce.com
content_type: documentation
content_hash: 843f4b86c58d76ac11d2ed1a9b59f3afe3a84e99143c263817ad901ff437db20
products:
  - Ferramentas bem criadas
  - Architect Site Content Repo
---
# Composável – Capacidade de empacotamento

### Padrão de gerenciamento de dependência

Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Gerenciamento de dependências](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-dependência)

| Onde procurar?<br>Área de produtos \| Local | Qual é a aparência de um bom?<br>Padrão                                                                                               |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Plataforma \| Padrões de design             | ✅ Existem padrões para introduzir ou modificar dependências                                                                          |
| Plataforma \| Padrões de design             | ✅ Existem padrões para declarar dependências                                                                                         |
| Plataforma \| Pacotes                       | ✅ Nenhum metadado é duplicado entre pacotes                                                                                          |
| Plataforma \| Pacotes                       | ✅ Para desenvolvimento de pacote, todo o trabalho de desenvolvimento de estágio inicial acontece em organizações teste               |
| Plataforma \| Controle de origem            | ✅ Os desenvolvedores podem criar organizações teste e implementar metadados de pacote com sucesso a partir do controle de origem     |
| Plataforma \| Controle de origem            | ✅ Versões de pacote para pacotes desbloqueados usam alias (`LATEST`) para declarar dependências em manifestos de `sfdx-project.json` |

### Padrão de acoplamento solto

Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Acoplamento solto](/docs/architect/pt-br/well-architected/guide/composable#acoplamento-solto)

| Onde procurar?<br>Área de produtos \| Local | Qual é a aparência de um bom?<br>Padrão                                                                                                       |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Plataforma \| Apex                          | ✅ Métodos dependentes de informações dinâmicas de tempo de execução fazem referência a tipos de metadados personalizados apropriados         |
| Plataforma \| Apex                          | ✅ Serviços comuns e código de caldeira são definidos usando classes abstratas ou virtuais do Apex                                            |
| Plataforma \| Padrões de design             | ✅ (Opcional) Todos os casos de uso aprovados para configurações personalizadas são listados claramente (se houver)                           |
| Plataforma \| Padrões de design             | ✅ Convenções de nomenclatura identificam como denotar unidades de pacote                                                                     |
| Plataforma \| Padrões de design             | ✅ É possível pesquisar e localizar uma lista de todas as unidades de pacote definidas no momento (e convenções de nomenclatura relacionadas) |
| Plataforma \| Padrões de design             | ✅ Existem padrões para propor alterações ou adições de unidade do pacote                                                                     |
| Plataforma \| Organização                   | ✅ Tipos de metadados personalizados fornecem informações dinâmicas de tempo de execução para personalizações declarativas e de código        |
| Plataforma \| Organização                   | ✅ Não há objetos personalizados para fornecer informações dinâmicas de tempo de execução para personalizações declarativas ou de código      |
| Plataforma \| Organização                   | ✅ Não há configurações personalizadas ou há poucas configurações personalizadas e nenhuma está relacionada à funcionalidade do pacote        |
| Plataforma \| Pacotes                       | ✅ Nenhum pacote não gerenciado é definido em produção ou sandboxes                                                                           |
| Plataforma \| Pacotes                       | ✅ Pacotes desbloqueados dependentes da organização são usados apenas para experiências de estágio inicial ou de prova de conceito            |
| Plataforma \| Controle de origem            | ✅ Arquivos de `package.xml` aparecem apenas em estágios iniciais ou manifestos de projeto de prova de conceito                               |

---

### Antipadrão de gerenciamento de dependência

Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Gerenciamento de dependências](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-dependência)

| Onde procurar?<br>Área de produtos \| Local | O que evitar?<br>Antipadrão                                                                                                                                          |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Plataforma \| Padrões de design             | ⚡️ Os padrões de design não existem ou não tratam de como declarar dependências                                                                                     |
| Plataforma \| Pacotes                       | Dependências são contornadas duplicando metadados em diferentes pacotes                                                                                              |
| Plataforma \| Pacotes                       | ⚡️ O desenvolvimento de pacote antecipado acontece em sandboxes do desenvolvedor ou o desenvolvimento de pacote antecipado não pode acontecer em organizações teste |
| Plataforma \| Controle de origem            | ⚡️ Os desenvolvedores não podem trabalhar com sucesso com organizações teste usando o controle de origem                                                            |
| Plataforma \| Controle de origem            | Versões de pacote para pacotes desbloqueados são declaradas explicitamente (sem alias de `LATEST`) em manifestos de `sfdx-project.json`                              |

### Antipadrão de acoplamento solto

Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Acoplamento solto](/docs/architect/pt-br/well-architected/guide/composable#acoplamento-solto)

| Onde procurar?<br>Área de produtos \| Local | O que evitar?<br>Antipadrão                                                                                                                                                                                                                                   |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Plataforma \| Apex                          | ⚡️ Serviços comuns e código de caldeira não são facilmente distinguidos de outras classes                                                                                                                                                                    |
| Plataforma \| Apex                          | Os métodos não usam uma abordagem consistente para acessar informações dinâmicas de tempo de execução ou consultam objetos personalizados para informações de comportamento de tempo de execução ou fazem referência a configurações personalizadas de código |
| Plataforma \| Apex                          | Referências internas entre classes e métodos são difíceis de seguir e são inconsistentes em toda a base de códigos                                                                                                                                            |
| Plataforma \| Padrões de design             | ⚡️ Os padrões de design não existem ou não lidam com unidades de pacote e casos de uso                                                                                                                                                                       |
| Plataforma \| Organização                   | ⚡️ As configurações personalizadas são usadas                                                                                                                                                                                                                |
| Plataforma \| Organização                   | ⚡️ Existem objetos personalizados para fornecer informações dinâmicas de tempo de execução para personalizações declarativas ou de código                                                                                                                    |
| Plataforma \| Organização                   | Tipos de metadados personalizados não são usados (ou não são usados de maneira consistente) para fornecer informações dinâmicas de tempo de execução para personalizações declarativas e de código                                                            |
| Plataforma \| Pacotes                       | ⚡️ Pacotes não gerenciados são definidos em produção ou sandboxes                                                                                                                                                                                            |
| Plataforma \| Pacotes                       | ⚡️ Todos os pacotes são pacotes desbloqueados dependentes da organização                                                                                                                                                                                     |
| Plataforma \| Controle de origem            | Os arquivos `package.xml` são usados para controlar implantações de metadados                                                                                                                                                                                 |

---
