Composite Application Guidance for WPF - Parte 1
Olá pessoal, tudo certo?
Já falamos aqui sobre o Composite Application Guidance for WPF, o projeto codenome PRISM, para a construção de aplicações de composição. Veja o primeiro post aqui.
Esse pacote está dentro da família de recursos para a construção de interfaces de aplicações, onde vimos o Smart Client - Composite UI Application Block - CAB (Dez/2005-2006) e depois o Smart Client Software Factory - SCFS (Abr/2008). Um documento que descreve essa evolução é este aqui.
A discussão em 2006 já posicionava um modelo de Shell para uma interface composta como vemos a seguir:
De fato, enquanto o pacote CAB oferecia uma série de bibliotecas para a construção de smart clients, a SCSF fornecia uma fábrica de software completa para a geração automática de código, automatizando os passos de construção para o desenvolvedor.
A versão Composite Application Guidance for WPF (Release 1) compôe uma biblioteca de componentes (a CAL - Composite Application Library), não uma fábrica de software. Ao invés de templates, o pacote disponibiliza uma série de HOW TO's. Eles estão disponíveis no arquivo "Composite Application Guidance for WPF - June 2008.chm".
A instalação do pacote trás uma série de arquivos ".bat", que disparam alguns exercícios com o Composite WPF, veja:
- Open Composite Application Library Solution.bat
- Open Hello World Solution.bat
- Open QS-Commanding Quickstart Solution.bat
- Open QS-ConfigurationModularity Quickstart Solution.bat
- Open QS-DirectoryLookupModularity Quickstart Solution.bat
- Open QS-EventAggregation Quickstart Solution.bat
- Open QS-UI Composition Quickstart Solution.bat
- Open RI-StockTrader Reference Implementation Solution.bat
Entre os exemplos encontramos a aplicação StockTrader (projeto RI-StockTrader Reference Implementation Solution), que apresenta uma interface composta por 4 módulos implementados como projetos independentes dentro da solução.
A figura acima destaca os arquivos da solução (a esquerda), onde vemos os 4 projetos de módulos da interface. Do lado direito, a página principal da aplicação apresenta em destaque os quatro componentes do layout, Watch, New, Market e Position. Cada módulo é apresentado em uma caixa específica.
Esse é um dos principais benefícios que o modelo implementa, ou seja, a capacidade de registro de novos módulos funcionais de interfaces na mesma aplicação, permitindo que estes desenvolvimentos sejam independentes. No exemplo acima, cada módulo (Watch, New, Market e Position) poderia ter sido desenvolvido por um desenvolvedor de forma independente, em paralelo. Com essa abordagem, evitamos o conflito de desenvolvimento de funcionalidades sobre uma mesma interface, um mesmo formulário, típico de projetos de interfaces compostas.
O pacote PRISM também trabalha com o pattern MVP - Model View Presenter, para o controle da interface e comportamento da aplicação. O desenho a seguir apresenta um dos aspectos do modelo, o registro dos módulos de funcionalidades junto a interface Shell, que controla a apresentação para o usuário:
De fato, recomendo a leitura desse pacote. A próxima versão (Relase 2.0) deve trazer ainda novas funcionalidades, como por exemplo a total interoperabilidade entre mundo Web e mundo Windows. Isso significa que o mesmo desenvolvimento (código) deve gerar uma interface compatível com Web e Windows, um sonho de longa data. :)
Algumas referências mais veja aqui:
Smart Client - Composite UI Application Block (Dez/2005)
Ref.: https://msdn.microsoft.com/en-us/library/aa480450.aspx
patterns & practices - Smart Client Guidance (Jun/2006)
Ref.: https://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=4940
Smart Client Software Factory (Abr/2008)
Ref.: https://msdn.microsoft.com/en-us/library/aa480482.aspx
Composite Application Guidance for WPF - Release version 1.0 (Jun/2008)
Ref.: https://msdn.microsoft.com/en-us/library/cc707819.aspx
Em posts futuros, vamos continuar vendo alguns exemplos com o Composite for WPF e seus recursos. Um outro assunto importante é a estrutura da CAL - Composite Application Library, fique ligado.
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
- Anonymous
October 22, 2008
PingBack from http://blog.a-foton.ru/index.php/2008/10/22/composite-application-guidance-for-wpf-parte-1/