logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Criando uma aplicação WPF – Parte 4

Colocado por Alexandre Tadashi na(s) categoria(s): 1, 4, 6, AR, Arquitetura, arte, BI, Blend, blog, Blogs, botão, C#, class, Class Library, classe, codeplex, código, dados, demo, Desenvolvimento, Design, designer, Documentação, err, event, Evento, Eventos, exemplo, expression, Expression Blend, Ferramenta, Flex, for, framework, Google, IE, if, image, int, interface, kit, layout, library, LOB, Melhores Práticas, mg, MSDN, mudanças, O, on, padrão, problema, problemas, pt, referencia, RIA, Ria’s Geral, runtime, silverlight, site, TAT, template, Teste, tool, toolkit, Tutoriais, Tutorial, Twitter, UI, uint, WPF, XAML, XP em 08 23rd, 2010 | Sem comentários

Nesta etapa do tutorial podemos separar as entidades geradas pelo T4 em um projeto separado, que posteriormente vamos utilizar na camada visual da aplicação, para realizar essa tarefa, adicione um novo projeto do tipo Class Library em sua Solution, com o nome de Contatos.Entities, em seguida delete o arquivo Class1.cs, pois não vamos utilizá-lo.

Na camada Contatos.Data, localize o arquivo ModeloContato.tt, que contém a classe Contato.cs, e mova o arquivo para a camada Contatos.Entities, para mover, arraste o arquivo com a tecla Shift pressionada e solte na camada Contatos.Entities.

O Resultado será :
Modifique os namespaces da nova camada, de Contatos.Data para Contato.Entities, e em seguida, na camada Contato.Entities adicione uma referencia a System.Runtime.Serialization.
Na camada Contatos.Data adicione uma referência ao projeto Contatos.Entities.

Se tiver dificuldades em separar as camadas, dê uma olhada neste tutorial:
http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

View e MVVM

O padrão de design MVVM (Model-View-ViewModel) é muito utilizado em aplicações Silverlight e WPF, principalmente em aplicações LOB, apesar de ser um padrão avançado, ele não resolve todos os problemas do desenvolvimento de um projeto, porém proporciona uma forma interessante de separar a camada View da camada Model de sua aplicação.

Resumidamente este padrão proporciona separar o modelo (Model) da interface visual do projeto (View), tanto o WPF como o Silverlight, tem um forte suporte a databinding, com esse modelo o desenvolver poderá trabalhar separado do designer na aplicação, ou seja, o designer terá uma maior flexibilidade, podendo utilizar por exemplo o Expression Blend e se concentrar no layout.

Existem diversas ferramentas disponíveis para você aplicar o padrão MVVM com as melhores práticas para uma aplicação em produção, como por exemplo, o framework MVVM Light Toolkit e o Prism, este último tem uma documentação interessante no link  http://compositewpf.codeplex.com/, porém neste tutorial não vou utilizar nenhum framework, para simplificar, vou criar um exemplo básico,  com o objetivo de explicar o conceito do padrão.

Para separar a View do Model, uma terceira classe será criada, essa classe será a ViewModel, ou seja, será a ponte entre essas duas camadas, o ViewModel pode implementar a interface INotifyPropertyChanged, ICommand, fazer validações, escutar eventos, possibilitar testes direto no ViewModel e fazer a adaptação entre a View e o Model.

Dessa forma a View, mais precisamente o arquivo XAML, fica com o mínimo de code-behind em C#, através de binding, ligamos a View com o ViewModel, dessa forma, por exemplo, o código que estaria dentro do evento click de um botão no code-behind do XAML, estará no ViewModel, sendo ligado através de ICommand, na teoria, ao abrir o code-behind de um arquivo XAML não teríamos códigos em C# para a manipulação dos dados e eventos, dessa forma o layout da aplicação fica mais flexível para sofrer mudanças.

O Padrão tem a seguinte arquitetura:

No próximo tutorial o fechamento desta série.
Twitter: @atsh2



Veja o post original no blog do autor aqui!  

Alexandre Tadashi

Escrito por Alexandre Tadashi @ http://alexandretadashi.net/
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Versão Oficial do Silverlight 3
» Mudança de blog
» Silverlight 5

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2795 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com