ASP.NET WebForms MVP: uma framework MVP aplicada a web forms
Trata-se da aplicação da separação de conceitos às ASP.NET Web forms de forma simples, rápida e com a aplicação das boas práticas com a framework Web Forms MVP.
É usado aqui um HelloWorld para prova de conceito básica.
Codificação da solução
Criar uma solução Web do tipo Web Forms, neste exemplo tem o nome ASPNET.WebForms.MVP.Na Consola de Gestão de Pacotes NuGet procede-se à instalação da Framework WebFormsMVP, tendo este projecto como padrão
PM> Install-Package WebFormsMVP -Version 1.4.5
Adicionar à solução um projecto do tipo biblioteca que comporta a lógica com as pastas
- Model
- Presenter
- View
Novamente na Consola de Gestão de Pacotes NuGet procede-se à instalação da Framework WebFormsMVP, tendo este projecto como padrão
PM> Install-Package WebFormsMVP -Version 1.4.5
Ao Model adiciona-se a classe HelloWorldModel.cs
public class HelloWorldModel
{
public string HelloWorld { get; set; }
}
Ao Presenter adiciona-se a classe HelloWorldPresenter.cs
using WebFormsMvp;
[...]
public class HelloWorldPresenter : Presenter<IView<HelloWorldModel>>
{
public HelloWorldPresenter(IView<HelloWorldModel> view) : base(view)
{
View.Load += View_Load;
}
private void View_Load(object sender, EventArgs e)
{
View.Model.HelloWorld = "Olá Mundo :)";
}
}
A aplicação Web referencia a biblioteca core preparada anteriormente e faz uso dos seus elementos no code behind da página HelloWorld.aspx adicionada:
using WebFormsMvp;
using WebFormsMvp.Web;
using ASPNET.WebForms.MVP.Logic.Model;
using ASPNET.WebForms.MVP.Logic.Presenter;
HelloWorld.aspx
<br />
<h3><%= Model.HelloWorld %></h3>
<br />
HelloWorl.aspx.cs
[PresenterBinding(typeof(HelloWorldPresenter), ViewType = typeof(IView<HelloWorldModel>))]
public partial class HelloWorld : MvpPage<HelloWorldModel>
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Framework Web Forms MVP em acção
Licença CC BY-SA 4.0
Silvia Pinhão Lopes, 22.9.17
Sem comentários: