MVC (Model View Controller)
ModelDef -> Model; ViewDef -> View; MenuDef -> actionsSepara regras de dados, interface e ações da aplicação.
Visão geral
ModelDef define o modelo e suas regras; ViewDef associa campos e grids a esse modelo; MenuDef fornece ações e operações. MPFormModel facilita o padrão Protheus com tratamento de Help, variáveis de memória e persistência padrão. A interface não deve concentrar a regra que também será necessária em execução automática. Definir, ativar, validar, gravar e cancelar são etapas distintas. O exemplo comunitário de uma entidade mostra essa separação em funções próprias; o quadro abaixo resume responsabilidades, sem abrir tabelas ou janelas. (Fontes: refs. 1–4.)
Sintaxe
ModelDef -> Model; ViewDef -> View; MenuDef -> actionsExemplo comentado
#Include "Protheus.ch"
User Function Ed552()
Local aCamadas := {{"ModelDef","Regras e dados"},{"ViewDef","Interface"},{"MenuDef","Acoes"}}
Local nI
// Mapa de responsabilidades; nenhuma rotina MVC e ativada.
For nI := 1 To Len(aCamadas)
ConOut(aCamadas[nI,1]+" -> "+aCamadas[nI,2])
Next
Return NilImprime três linhas de responsabilidades. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Manter IDs consistentes entre modelo e view, separar validação de persistência e conferir permissões das ações. Ao usar User Function, não repetir seu nome como ID de Model sem observar a regra oficial de geração de PEs.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.