ASP NET MVC + NHibernate + ExtJs – Parte 1

Há alguns dias atrás me deparei com a nescessidade de criar uma arquitetura .NET para criar um novo sistema, e como fazia alguns anos que não programava em .NET fui pesquisar o que estava sendo mais usado no mercado e me deparei com várias opções, mas a que se melhor adaptou para a minha nescessidade foi essa:

  • ASP NET MVC 1 – Framework desenvolvido pela Microsoft para criar aplicações baseadas em MVC
  • NHibernate 2.1 – ORM para mapear nossos objetos em entidades relacionais
  • ExtJs 3.2 – Framework para criar a camada de vizualização
  • Postgress 8.4 – Banco de dados para armazenar as informações

Por esse motivo a partir de hoje estaremos criando um passo a passo para criar um pequeno sistema totalmente didático para controle de contatos usando essa arquitetura.

Então vamos colocar a mão na massa…

Parte 1 –  Criando a aplicação no Visual Studio 2008

1) Abrir o Visual Studio 2008 e criar um novo Solution em branco, ir em File -> New -> Project e depois selecionar a opção do lado esquerdo Other Project Types -> Visual Studio Solutions, coloque o nome de Contatos.

Criando uma nova Solution em branco

2) Depois de criado uma Solution em branco vamos adicionar os projetos, na janela Solution Explorer (geralmente do lado direito) clicar com o botão direito em cima da solution Contatos e selecionar a opção Add -> New Project e depois selecionar Visual C# -> Web -> ASP.NET MVC Web Application coloque o nome de Contatos.Web

Adicionando o projeto ASP NET MVC

Quando o Visual Studio oferecer a opção de criar um projeto de Teste Unitário, selecione “No”, vamos criar os testes em um outro segundo momento.

Também podemos apagar as pastas App_Data e Models que não vamos usar nessa arquitetura.

3) Agora vamos criar um projeto do tipo Class Library para a camada que vai ser responsável por fazer os mapeamentos das nossas entidades para nossas tabelas no banco de dados. Seguir os mesmos passos, clicar com o botão direito em cima da solution Contatos e selecionar a opção Add -> New Project depois Visual C# -> Windows -> Class Library e coloque o nome de Contatos.Factory

Adicionando a class library

4) Depois de criado o projeto, clicar com o botão direito em cima do projeto Contatos.Factory e selecionar a opção Add -> New Folder, vamos adicionar duas pastas uma chamada Entity que servirá para controlar nossas entidades (classes) e outra chamada Mappings que servirá para criar os XMLs de mapeamento para o NHibernate.

Adicionar uma nova pasta

5) Agora vamos criar mais um projeto do tipo Class Library onde vamos codificar todas nossas regras de negócio, siga os mesmos passos descrito acima, a única diferença é o nome do projeto que será Contatos.Business.

6) Depois de criado o projeto Contatos.Business também vamos criar duas pastas, uma chamada Repository que conterá todas nossas interfaces com todos nossos métodos e outra Implementation que será a implementação dos métodos declarados na nossa interface.

No final dessas etapas nossa solution Contatos deverá conter 3 projetos, conforme abaixo:

Projeto criado

Pronto, o esqueleto do nosso sistema esta criado, no próximo post vamos criar nossas entidades e mapear com o NHibernate.

Qualquer erro, dúvida, opinião favor entrar em contato!

Download Parte 1

Até a próxima!

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.