Qual é a melhor maneira de separar UI (designer / editor) lógica da estrutura do pacote (como Visual Package Studio)

StackOverflow https://stackoverflow.com/questions/158420

Pergunta

Eu quero separar preocupações aqui. Criar e incorporar toda a lógica de interface do usuário para o designer XML personalizado, modelo de objeto, validações etc para um conjunto separado. Em seguida, a estrutura do pacote só deve registar as informações de designer e pedir um Serviço de UI e tudo funciona magicamente.

Desta forma, eu não preciso de jogar com o quadro Package (Pacote Visual Studio) de montagem, quando eu preciso modificar o designer de interface do usuário.

Esta questão também se aplica a qualquer coisa que você tem que separar a lógica da interface do usuário a partir do quadro de esqueleto que carrega-lo, como um plugin.

Eu tenho várias opções um modelo ServiceProvider, um modelo de plug-in ou pode ser outra.

Qualquer amostras, sugestões de padrões, links são bem-vindos.

Update 1: O que estou procurando é um pensamento tais como - "Does Prism (Composite WPF) caber a conta Alguém já trabalhou em um projeto / aplicação que faz a separação de interesses, assim como eu mencionei acima etc?" (Eu ainda estou procurando por respostas)

Foi útil?

Solução

Eu criei um VSPackage que carrega um editor. O Editor senta-se em uma montagem e implementa uma interface que I definido separado. O VSPackage trabalha com a interface, de modo que qualquer muda eu faço para o editor (e sua montagem) não afeta a VSPackage contanto que eu não alterar a interface.

Outras dicas

O que você está perguntando sobre costuras muito parecido com a separação de preocupações de que a MVC tentativas de padrão para aplicar.

ASP.NET MVC já está lá fora, com um visualização 5 .

É principalmente para web, mas eu acho que eles estão pensando em usá-lo também para WinForms, mas eu não tenho certeza.

Eu prefiro o Model View Presenter padrão

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top