Alternativas ao Prism + MEF para aplicativos modulares MVVM [fechado]
-
14-11-2019 - |
Pergunta
Minha equipe e eu estamos começando a planejar o desenvolvimento de um aplicativo modular que provavelmente terá WPF e Silverlight multi-alvo.
Pessoalmente, tenho alguma experiência no uso da versão mais antiga do PRISM para criar um aplicativo composto do Silverlight usando o padrão MVVM.Na época, não estávamos familiarizados com o MEF para lidar com as diversas dependências do módulo, então não o usamos.
Não estamos casados com nenhuma estrutura específica, mas queremos usar um dos maiores participantes do mercado.Como tal, começamos a examinar Caliburn/Caliburn Micro, Prism, MVVM Light e Reactive UI.
A maior parte do que li sobre modularidade sugere PRISM e MEF para lidar com essa parte do processo.Como ainda estou pensando nisso, não tenho certeza se estou perdendo algumas opções óbvias.Consegui encontrar este artigo em Caliburn Micro e MEF.
Alguém pode me indicar artigos semelhantes usando algumas das outras estruturas para compor um aplicativo composto de maneira semelhante à forma como o PRSIM usa regiões, etc.?Idealmente, eu gostaria de limitar o número de estruturas necessárias e, ao mesmo tempo, fornecer o máximo de flexibilidade.Não somos avessos a adotar uma abordagem "melhor da categoria" e usar, por exemplo, MEF/PRISM para lidar com a composição e MVVM Light para o gerenciamento de View, etc;mas por que usar 2 quando 1 serve?
Solução
Uma coisa que você provavelmente deve fazer primeiro é isolá-los em seus compartimentos apropriados.Vejo muito isso onde as pessoas misturam frameworks MVVM com frameworks de composição de aplicativos.Depois de colocá-los nos grupos apropriados, você pode começar a escolher uma estrutura de cada categoria e combiná-las no que você considera o melhor cenário.
Composição do Aplicativo
- Prism (usando qualquer contêiner IoC:MEF, Unidade, Ninject, Autofac, etc.Existem algumas coisas que tornam o MVVM mais fácil com o Prism, mas eu não o chamaria de um framework MVVM completo...é principalmente uma estrutura modular de composição de aplicativos.)
- MEF (MEF é realmente capaz de fazer a composição de aplicativos imediatamente.Muitas vezes é descartado como apenas uma estrutura de IoC, mas é enganosamente poderoso.)
Estruturas MVVM
- ReactiveUI (meu favorito)
- Caliburn
- Caliburn Micro
- Luz MVVM
Isso ajudará você a tomar uma decisão, eu acho.Você pode escolher a tecnologia de composição de aplicação que desejar e uma estrutura MVVM de sua preferência e começar a corrida.
Quanto aos artigos, não tenho muitos.Existem muitos artigos bons sobre composição de aplicativos com Prism (esse é basicamente o seu trabalho), mas aqui está um bom artigo sobre composição de aplicativos com MEF por si só:
Você também deve conferir a série "Building HelloMEF" de Glenn Block em seu blog.Não consegui encontrar uma lista abrangente (ele não foi consistente com sua marcação), mas aqui está a tag “MEF”.Muitas coisas boas aqui:
http://blogs.msdn.com/b/gblock/archive/tags/mef/default.aspx?PageIndex=1