I have a new-employee form.

When the "Save" button is pressed, a SavingRequested event is raised. The Presenter gets an Employee object from the View and passes it to the Model for further processing.

Should the Employee object created by the View be passed to the Presenter via the event arguments:

public event EventHandler<SavingRequestedEventArgs> SavingRequested;
private void OnSavingRequested()
{
    SavingRequested?.Invoke(this, new SavingRequestedEventArgs(employeeObject);
}

or should the View have an Employee property that the Presenter will access?

有帮助吗?

解决方案

The event data approach will keep you a little closer to the observer pattern, but you should probably not create (or instantiate) Employee from within the view. It's almost like you're directly coupling the view with the model as explained here.

Find a bare data structure that supports properties, and pass that to the Presenter (controller?) instead via a regular object

许可以下: CC-BY-SA归因
scroll top