Namespace Model.Interfaces Public Interface IPerson Property Id() As Guid Property LastName() As String Property FirstName() As String End Interface End Namespace
Namespace Model Public Class Person Implements Model.Interfaces.IPerson Private _lastName As String Private _id As Guid Private _firstName As String Public Sub New() _id = New Guid _firstName = "" _lastName = "" End Sub Public Property FirstName() As String Implements Interfaces.IPerson.FirstName Get Return _firstName End Get Set(ByVal value As String) _firstName = value End Set End Property Public Property Id() As System.Guid Implements Interfaces.IPerson.Id Get Return _id End Get Set(ByVal value As System.Guid) _id = value End Set End Property Public Property LastName() As String Implements Interfaces.IPerson.LastName Get Return _lastName End Get Set(ByVal value As String) _lastName = value End Set End Property Public Overrides Function ToString() As String Return _lastName & " " & _firstName End Function End Class End Namespace
Imports StructureMap Namespace Dal.Factory <PluginFamily("SQLServerDaoFactory", Issingleton:=True)> _ Public Interface IDAOFactory ReadOnly Property Person() As Dal.Interfaces.IPerson End Interface End Namespace
Imports StructureMap Namespace Dal.SQLServer <Pluggable("SQLServerDaoFactory")> _ Public Class DaoFactory Implements Dal.Factory.IDAOFactory Public ReadOnly Property Person() As Interfaces.IPerson Implements Factory.IDAOFactory.Person Get Return ObjectFactory.GetInstance(Of Interfaces.IPerson)() End Get End Property End Class End Namespace
StructureMapConfiguration.UseDefaultStructureMapConfigFile = False StructureMapConfiguration.ScanAssemblies.IncludeTheCallingAssembly()
Dim a As Model.Person Dim d As Dal.Factory.IDAOFactory = ObjectFactory.GetInstance(Of Dal.Factory.IDAOFactory)() a = d.Person.FindPersonbyName("") Label1.Text = a.FirstName Label2.Text = a.LastName
Imports StructureMap Namespace Dal.MySQL <Pluggable("MySQLDaoFactory")> _ Public Class DaoFactory Implements Dal.Factory.IDAOFactory Public ReadOnly Property Person() As Interfaces.IPerson Implements Factory.IDAOFactory.Person Get ObjectFactory.InjectStub(GetType(Interfaces.IPerson), New MySQLPerson) Return ObjectFactory.GetInstance(Of Interfaces.IPerson)() End Get End Property End Class End Namespace
Imports StructureMap Namespace Dal.SQLServer <Pluggable("MySQLDaoFactory")> _ Public Class DaoFactory Implements Dal.Factory.IDAOFactory Public ReadOnly Property Person() As Interfaces.IPerson Implements Factory.IDAOFactory.Person Get Return ObjectFactory.GetInstance(Of Interfaces.IPerson)() End Get End Property End Class End Namespace
Powered by: newtelligence dasBlog 1.9.7174.0
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2008, Christiaan Baes
E-mail