CAB, DI, and ObjectBuilder question

Topics: CAB & Smart Client Software Factory
Jan 25, 2007 at 1:10 PM
I compared CAB and Object Builder with other framework, like Castle and Spring.net. I found that the Service, CommandHandler, UIElement,and Shell of CAB framework are really nice and convenient. But when it comes to MVC/MVP, CAB is somewhat still tightly coupled. The view must depend on concrete controller/presenter type instead of an interface. Also the workItem has to know the concrete view type to add a new SmartPart item instead of an interface. Just like this:
CreateNew
public AddVisitorToQueueViewPresenter Presenter // Why not interface??
{
set
{
_presenter = value;
_presenter.View = this;
}
}

public class FindCustomerViewPresenter : Presenter<IFindCustomerView>
{
//...
FindCustomerResultsView resultsView = WorkItem.Items.AddNew<FindCustomerResultsView>(); //why not interface??
viewWorkspace.Show(resultsView);
}

What I prefer is just like: Model(Service)-IModel(IService)-View-IView-Presenter-IPresenter?
public class SampleView : BaseView, ISampleView
{
//.....
Presenter = PresenterFactory.Create<ISamplePresenter>(this);

}

//Presenter<TView,TModel>
public class SamplePresenter : Presenter<ISampleView, ICategoryService>, ISamplePresenter
{

}

In this case, model-view-presenter are all loosely coupled. Who knows how to implement this style in CAB? or did I miss something?