Simple Factory Pattern

シンプルなFactoryパターンは、Static Factory Methodと呼ばれ、あるクラスを定義して、ほかクラスのインスタンスを作成する。作成されたのインスタンスは一般的に共有な親クラスあるいはインタフェースがある。

参加者:

Factoryルート(Creator)

アブストラクトプロダクトルート(Product)

具体なプロダクトルート(Concrete Product)

日常の例(着物選択):

アブストラクトプロダクトクラス:着物
Public Interface ICoat
	Sub GetYourCoat()
End Interface
具体のクラス:
Namespace SimpleFactory
	Public Class BusinessCoat
		Implements ICoat
		Public Sub GetYourCoat()
			Console.WriteLine("BusinessCoat")
		End Sub
	End Class
      Public Class FashionCoat
          Implements ICoat
          Public Sub GetYourCoat()
             Console.WriteLine("FashionCoat")
           End Sub
      End Class

End Namespace
Factoryクラス:
Namespace SimpleFactory

	Public Class Factory
		Public Function CreateCoat(styleName As String) As ICoat
			Select Case styleName.Trim().ToLower()
				Case "business"
					Return New BusinessCoat()
				Case "fashion"
					Return New FashionCoat()
				Case Else
					Throw New Exception("ほしい着物はない")
			End Select
		End Function

	End Class
End Namespace
使用
Clientクラス:
Class Client
	Private Shared Sub Main(args As String())
		Dim food As ICoat
		Try
			Dim factory As New Factory()

			Console.Write("FashionCoatがほしい" & vbTab)
			food = factory.CreateCoat("fashion")

			food.GetYourCoat()
		Catch ex As Exception
			Console.WriteLine(ex.Message)
		End Try
	End Sub
End Class

posted on 2012-03-11 22:19  吐个泡泡  阅读(114)  评论(0编辑  收藏  举报

导航