由于是速读也就速写。
进入主题。ViewPresnter 只是一个Microsoft告诉我们如何把领域对象和Asp.net页面交互写好,其中没有用 到任何新的Assembly,只是单单是个编程技巧或者说一种编程方法。整个交互过程基本与MVC模式相同。主要分为4个部分
领域对象 Customer 没有什么特别的地方。
View层 由Default.aspx和IApproveCustomerView一起完成,其中IApproveCustomerView从接口名称可以看出,是用于批准Customer所使用的业务界面。也就说View接口是完成一次业务过程中,在UI层必须完成的功能。在这个接口中可以看到三个方法。
AllowApproveCustomer.set方法,设定Customer是否能被批准
Customer.set属性,设定这次批准的Customer是谁。
ShowCustomerDetails.set 用于设定界面显示内容。
使用IApproveCustomerView定义接口可以有效地增加领域层的重用机会,至少在Web转向Win的过程中可以有效地减少工作量。
但是注意一下由于在批准的流程中会批一个,然后显示一个Customer信息,也就是首先是Default.aspx,然后是是Summy信息,再Default页面。因此导航的工作也由Control执行。但是导航的地点就由NameVeiw类定义了。
Modle应该是ApproveCustomerViewPresenter,它与Veiw、Controller协作完成业务流程、数据显示、数据存取的控制。注意下构造函数,接受一个View和一个Conntroller作为参数。
Conntrol就是CustomersController。控制了业务的流程,如上一个Customer和下一个等。也就是被审批Customer的列表。如果有必要,Dao应该与这个类进行交互以完成持久化工作。