设计模式之创建型模式

时间:2010-09-09 16:35:30
【文件属性】:

文件名称:设计模式之创建型模式

文件大小:92KB

文件格式:RAR

更新时间:2010-09-09 16:35:30

通过对设计模式的学习和了解,以C#语言实践了设计模式的简单应用。
本次代码只提供了创建型模式的应用代码和说明,包括:Singleton 单件,Abstract Factory 抽象工厂,Builder 生成器,Factory Method 工厂方法。
Singleton模式解决的是实体对象个数的问题。除了Singleton之外,其他创建型模式解决的都是new所带来的耦合关系。
Factory Method, Abstract Factory, Builder都需要一个额外的工厂类来负责实例化“易变对象”,而Prototype则是通过原型(一个特殊的工厂类)来克隆“易变对象”。
如果遇到“易变类”,起初的设计通常从FactoryMethod开始,当遇到更多的复杂变化时,再考虑重构为其他三种工厂模式( Abstract Factory,Builder , Prototype )。


【文件预览】:
AbstractFactory
----AbstractTunnel.cs(248B)
----ModernTunnel.cs(341B)
----AbstractRoad.cs(246B)
----bin()
--------Debug()
----ModernJungle.cs(329B)
----obj()
--------AbstractFactory.csproj.FileList.txt(166B)
--------Debug()
----Properties()
--------AssemblyInfo.cs(1KB)
----Program.cs(382B)
----ModernRoad.cs(326B)
----ModernBuilding.cs(333B)
----AbstractFactory.csproj(2KB)
----ModernFacilitiesFactory.cs(723B)
----AbstractJungle.cs(246B)
----AbstractBuilding.cs(250B)
----FacilitiesFactory.cs(454B)
----GameManager.cs(971B)
----说明.txt(905B)
FactoryMethod
----bin()
--------Debug()
----obj()
--------FactoryMethod.csproj.FileList.txt(158B)
--------Debug()
----Properties()
--------AssemblyInfo.cs(1KB)
----Program.cs(639B)
----FactoryMethod.csproj(2KB)
----HongqiCar.cs(729B)
----DongfengCar.cs(785B)
----AbsractCar.cs(386B)
----HongqiCarFactory.cs(265B)
----CarTestFramework.cs(1KB)
----说明.txt(688B)
----DongfengCarFactory.cs(269B)
----Enginee.cs(410B)
----CarFactory.cs(260B)
----Direction.cs(233B)
PatternSolution.sln
Singleton
----Singleton.csproj(2KB)
----VolatileSingleton.cs(1KB)
----bin()
--------Debug()
----obj()
--------Singleton.csproj.FileList.txt(142B)
--------Debug()
----Properties()
--------AssemblyInfo.cs(1KB)
----Program.cs(585B)
----说明.txt(287B)
----Singleton.cs(784B)
PatternSolution.suo
Prototype
----GameSystem.cs(754B)
----bin()
--------Debug()
----Writer.cs(227B)
----obj()
--------Prototype.csproj.FileList.txt(142B)
--------Debug()
----FlyActor.cs(371B)
----Properties()
--------AssemblyInfo.cs(1KB)
----Program.cs(380B)
----Actor.cs(225B)
----NewsWriter.cs(382B)
----Prototype.csproj(2KB)
----NormalWriter.cs(386B)
----NormalActor.cs(381B)
----WaterActor.cs(375B)
----说明.txt(576B)
----StoryWriter.cs(390B)
Builder
----RomanHouseBuilder.cs(1KB)
----bin()
--------Debug()
----Builder.cs(420B)
----obj()
--------Builder.csproj.FileList.txt(134B)
--------Debug()
----Properties()
--------AssemblyInfo.cs(1KB)
----Program.cs(348B)
----House.cs(673B)
----RomanHouse.cs(1KB)
----GameManager.cs(558B)
----说明.txt(684B)
----Builder.csproj(2KB)

网友评论

  • 还可以吧 大众版