此抽象工厂模式的实例分5个要点来把握:
1.一系列(稳定的数量)易变化(细节变化)的对象进行抽象化建立类(AbstractBuilding,AbstractRoad...)
2.创建抽象工厂类封装这一系列对象的创建(FacilitiesFactory)
3.为每个对象创建不同变化的类,从抽象类继承(例如ModernRoad,ModernBuilding)
4.针对这一系列对象的每种变化(不同细节的组合)创建不同的工厂类,从抽象工厂类继承
5.客户端程序调用这一系列对象的创建函数用参数:抽象工厂类(FacilitiesFactory)
Abstract Factory模式的几个要点
1.如果没有应对“多系列对象构建”的需求变化,则没有必要使用Abstract Factory模式,这时候使用简单的静态工厂完全可以。
2.“ 系列对象”指的是这些对象之间有相互依赖、或作用的关系,例如游戏开发场景中的“道路”与“房屋”的依赖,“道路”与“地道”的依赖。
3.Abstract Factory模式主要在于应对“新系列”的需求变动。其缺点在于难以应对“新对象”的需求变动。
4.Abstract Factory模式经常和Factory Method模式共同组合来应对“对象创建”的需求变化。
没有合适的资源?快使用搜索试试~ 我知道了~
设计模式之创建型模式
共88个文件
cs:46个
exe:15个
txt:10个
4星 · 超过85%的资源 需积分: 0 40 下载量 79 浏览量
2007-08-20
22:48:50
上传
评论 1
收藏 92KB RAR 举报
温馨提示
通过对设计模式的学习和了解,以C#语言实践了设计模式的简单应用。<br> 本次代码只提供了创建型模式的应用代码和说明,包括:Singleton 单件,Abstract Factory 抽象工厂,Builder 生成器,Factory Method 工厂方法。<br> Singleton模式解决的是实体对象个数的问题。除了Singleton之外,其他创建型模式解决的都是new所带来的耦合关系。<br> Factory Method, Abstract Factory, Builder都需要一个额外的工厂类来负责实例化“易变对象”,而Prototype则是通过原型(一个特殊的工厂类)来克隆“易变对象”。<br> 如果遇到“易变类”,起初的设计通常从FactoryMethod开始,当遇到更多的复杂变化时,再考虑重构为其他三种工厂模式( Abstract Factory,Builder , Prototype )。
资源详情
资源评论
资源推荐
收起资源包目录
PatternSolution(1).rar (88个子文件)
AbstractFactory
AbstractTunnel.cs 248B
ModernTunnel.cs 341B
AbstractRoad.cs 246B
bin
Debug
AbstractFactory.vshost.exe 6KB
AbstractFactory.pdb 28KB
AbstractFactory.exe 16KB
ModernJungle.cs 329B
obj
AbstractFactory.csproj.FileList.txt 166B
Debug
TempPE
AbstractFactory.pdb 28KB
AbstractFactory.exe 16KB
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
FactoryMethod.pdb 28KB
FactoryMethod.exe 16KB
FactoryMethod.vshost.exe 6KB
obj
FactoryMethod.csproj.FileList.txt 158B
Debug
FactoryMethod.pdb 28KB
Refactor
TempPE
FactoryMethod.exe 16KB
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 3KB
Singleton
Singleton.csproj 2KB
VolatileSingleton.cs 1KB
bin
Debug
Singleton.exe 16KB
Singleton.pdb 16KB
Singleton.vshost.exe 6KB
obj
Singleton.csproj.FileList.txt 142B
Debug
Singleton.exe 16KB
Singleton.pdb 16KB
TempPE
Properties
AssemblyInfo.cs 1KB
Program.cs 585B
说明.txt 287B
Singleton.cs 784B
PatternSolution.suo 49KB
Prototype
GameSystem.cs 754B
bin
Debug
Prototype.exe 16KB
Prototype.pdb 26KB
Prototype.vshost.exe 6KB
Writer.cs 227B
obj
Prototype.csproj.FileList.txt 142B
Debug
Prototype.exe 16KB
Prototype.pdb 26KB
TempPE
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.vshost.exe 6KB
Builder.pdb 24KB
Builder.exe 16KB
Builder.cs 420B
obj
Builder.csproj.FileList.txt 134B
Debug
Builder.pdb 24KB
Builder.exe 16KB
TempPE
Properties
AssemblyInfo.cs 1KB
Program.cs 348B
House.cs 673B
RomanHouse.cs 1KB
GameManager.cs 558B
说明.txt 684B
Builder.csproj 2KB
共 88 条
- 1
c_dotnet
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1