回答

2

是你面對什麼樣的問題?無論如何,我已經提出瞭如何在WinForm中實現這一點的示例(但基本)的結構。我已經完成了使用模型視圖演示者模式。

所有我們有一個主持人,這將處理的工作單位幾乎類似的控制器的方式也

internal class EmployeePresenter 
{ 
    private readonly IEmployeeFormView _employeeFormView; 
    private readonly IUnitOfWork _unitOfWork; 

    public EmployeePresenter(IEmployeeFormView view) 
    { 
     _employeeFormView = view; 
     _unitOfWork = new SqlUnitOfWork(); 
    } 

    internal void GetData() 
    { 
     var id = 1; //parameter 
     var employee = _unitOfWork.Employees.Single(e => e.Id == id); 
     _employeeFormView.PopulateData(employee.Name); 
    } 
} 

那麼我們有一個接口和一個形式實現該接口

public interface IEmployeeFormView 
{ 
    void PopulateData(string data); 
} 

public partial class EmployeeForm : Form, IEmployeeFormView 
{ 
    private readonly EmployeePresenter _presenter; 

    public EmployeeForm() 
    { 
     InitializeComponent(); 
     _presenter = new EmployeePresenter(this); 
    } 

    #region IEmployeeFormView Members 

    public void PopulateData(string data) 
    { 
     txtName.Text = data; //txtName is a textbox on form 
    } 

    #endregion 

    private void btnGet_Click(object sender, EventArgs e) 
    { 
     _presenter.GetData(); 
    } 
} 

第一添加所需的參考,你就完成了。這可能不是最好的方式,但它肯定是實現這一目標的一種方式。

解決方案是上傳here

希望這會有所幫助。如有需要,請隨時討論。

+0

這是超出我的知識。如果你不介意,你可以上傳一個使用這兩種模式uow和存儲庫的示例,並綁定表單沒有mvp模式 – user1018104 2012-03-29 13:32:26

+0

好吧我在項目中做了一個簡單的表單並上傳瞭解決方案[here](http://www.box。 COM/S/f301bfca099c082d059f) – Adil 2012-03-29 17:34:39

+0

嗨再次, 我已經轉換這個項目vb.net,但是當我運行該項目,出現以下錯誤: 映射和元數​​據信息無法進行的EntityType「EmployeeDomain.Employee」中找到。 – user1018104 2012-04-11 13:15:37