文件名称:设计模式 创建型模式 Simple Factory模式(简单工厂)
文件大小:1.78MB
文件格式:7Z
更新时间:2016-01-09 05:47:47
Simple Factory
Simple Factory模式: 定义创建对象的接口,并封装对象的创建。 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这样的话,我们将会面临一个挑战。在每次使用子类的时候,我们不得不经常使用base* = New XXX (这也无可厚非,但当系统复杂后,我们可能将无法维护子类的创建),最终我们在程序的扩展和维护成本上的开销将变得越来越大,越来越难。 我们知道经常“某个对象”由于需求的变化,对象的具体实现面临着剧烈的变化。为了应对这种变化我们抽象出它比较稳定的接口,隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变,这就是我们经常谈的Factory模式了。 详细见博客 http://blog.csdn.net/xiaoting451292510/article/details/8289608
【文件预览】:
Singleton
----groupinc()
--------DESIGNPATTERN_Singleton.h(1KB)
----DESIGNPATTERN_Singleton.cpp(1KB)
DesignPattern.suo
SimpleFactory
----DESIGNPATTERN_SimpleFactory.cpp(1KB)
----groupinc()
--------DESIGNPATTERN_SimpleFactory.h(1KB)
Product
----Monitor.cpp(2KB)
----Keyboard.cpp(2KB)
----Mouse.cpp(2KB)
----groupinc()
--------Keyboard.h(3KB)
--------Mouse.h(3KB)
--------Computer.h(3KB)
--------Monitor.h(3KB)
--------Profession.h(2KB)
----Computer.cpp(2KB)
----Profession.cpp(1KB)
debug
----DesignPattern.pdb(643KB)
----DesignPattern.ilk(440KB)
----DesignPattern.exe(68KB)
DesignPattern
----ReadMe.txt(1KB)
----DesignPattern.vcproj.chenlulu-PC.chenlulu.user(1KB)
----DesignPattern.cpp(1KB)
----Debug()
--------vc80.idb(259KB)
--------Monitor.obj(41KB)
--------Computer.obj(41KB)
--------mt.dep(67B)
--------DESIGNPATTERN_SimpleFactory.obj(13KB)
--------Keyboard.obj(41KB)
--------Mouse.obj(41KB)
--------DESIGNPATTERN_Singleton.obj(10KB)
--------DesignPattern.pch(6.44MB)
--------stdafx.obj(34KB)
--------Profession.obj(35KB)
--------BuildLog.htm(12KB)
--------DesignPattern.obj(22KB)
--------DesignPattern.exe.intermediate.manifest(388B)
--------DesignPattern.exe.embed.manifest.res(472B)
--------DesignPattern.exe.embed.manifest(406B)
--------vc80.pdb(268KB)
----stdafx.cpp(300B)
----CompOptProj.txt(28B)
----DesignPattern.vcproj(6KB)
----groupinc()
--------MySelfDef.h(378B)
--------stdafx.h(583B)
----IncPathGroup.txt(118B)
DesignPattern.ncb
reouce
----DesignPattern.asta(31KB)
----Pattern_AbstractFactory.jpg.bak(226KB)
----DesignPattern.asta.bak(31KB)
----Pattern_ComplexFactory.jpg(79KB)
----Pattern_AbstractFactory.jpg(226KB)
----Pattern_SimpleFactory.jpg(58KB)
----Pattern_Singleton.jpg(23KB)
DesignPattern.sln