मैं निष्क्रिय दृश्य का उपयोग, Model View Presenter स्वरूप की एक स्वाद, टेस्टेबिलिटी/रखरखाव/आदि बढ़ाने के लिए विकास (.NET) जैसे किसी भी वेब फॉर्म के साथ
उदाहरण के लिए, अपने कोड-पीछे फ़ाइल इस
Partial Public Class _Default
Inherits System.Web.UI.Page
Implements IProductView
Private presenter As ProductPresenter
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
presenter = New ProductPresenter(Me)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
presenter.OnViewLoad()
End Sub
Private ReadOnly Property PageIsPostBack() As Boolean Implements IProductView.PageIsPostBack
Get
Return Page.IsPostBack
End Get
End Property
Public Property Products() As System.Collections.Generic.List(Of Product) Implements Library.IProductView.Products
Get
Return DirectCast(gridProducts.DataSource(), List(Of Product))
End Get
Set(ByVal value As System.Collections.Generic.List(Of Product))
gridProducts.DataSource = value
gridProducts.DataBind()
End Set
End Property
End Class
इस कोड के पीछे शून्य तर्क के साथ एक बहुत पतली दृश्य के रूप में काम कर रहा है की तरह कुछ लग सकता है। यह तर्क इसके बजाय एक प्रस्तुतकर्ता वर्ग में धक्का दिया जाता है जिसे यूनिट परीक्षण किया जा सकता है।
Public Class ProductPresenter
Private mView As IProductView
Private mProductService As IProductService
Public Sub New(ByVal View As IProductView)
Me.New(View, New ProductService())
End Sub
Public Sub New(ByVal View As IProductView, ByVal ProductService As IProductService)
mView = View
mProductService = ProductService
End Sub
Public Sub OnViewLoad()
If mView.PageIsPostBack = False Then
PopulateProductsList()
End If
End Sub
Public Sub PopulateProductsList()
Try
Dim ProductList As List(Of Product) = mProductService.GetProducts()
mView.Products = ProductList
Catch ex As Exception
Throw ex
End Try
End Sub
End Class
स्रोत
2008-08-30 17:43:12
PublishData ईवेंट कहां लिखा गया है? –
मेरा मतलब है PublishDataEventHander, उस घटना में क्या होना चाहिए जहां लिखा गया है? –