顾名思义,工厂模式就是类似于生活中的工厂,可以生产我们想要的东西,回到代码,假如我们需要一个实例,直接从工厂中拿即可。eg:假如我们定义一个“球”类的接口1
public interface Ball{2 public void sayName();3 }此时我们再定义两个球类实现这个接口1...
分类:
其他好文 时间:
2014-05-16 23:31:40
阅读次数:
370
一、简单工厂模式简单工厂模式SimpleFactory,又称静态工厂方法模式。它是类的创建模式。是由一个工厂对象决定创建出哪一种产品类的实例,是不同的工厂方法模式的一个特殊实现。优点:u模式的核心是工厂类,该类中含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品...
分类:
其他好文 时间:
2014-05-16 23:10:08
阅读次数:
369
该篇文章通过一个写计算器控制台程序,来导入文章主题。
首先,要注意代码规范,变量命名有意义,不能随意用A,B,C;
功能要封装好,不要写在一个主函数里,另外要考虑后期需求的更改,如果出现多个函数里面的代码大部分相同,那么我们要学会提取公共行为、属性来构造一个父类,具体的子类来继承父类。继承最...
分类:
其他好文 时间:
2014-05-16 09:12:17
阅读次数:
236
抽象工厂模式(Abstract
Factory)定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体的类. 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向Client端提供一个接口,使客...
分类:
其他好文 时间:
2014-05-14 09:56:56
阅读次数:
384
在前一篇【简单工厂模式】中,使用计算器为例做了记录,在前文中提到了我写的简单工厂模式和书上讲得有点不同:简单工厂模式只是用来创建对象,而关于此对象的操作是另外一回事,程序员需要手动根据工厂类创建的类对象(一般是父类对象指针,静态类型为父类,动态类型为子类,多态的基础)。
而我在工厂内部加了一个Get...
分类:
其他好文 时间:
2014-05-13 20:21:01
阅读次数:
318
和前文讲到的经过改进的简单工厂模式类似,这里把策略模式和简单工厂模式结合起来。改进的关键是改写【TodoContext】上下文类,要在该类中产生对象(【干活】类的动态类型),对外提供的干活函数不变。如下:最大的不同就是CTodoContext类的构造函数参数不同了,构造函数成为类似简单工厂模式类的参...
分类:
其他好文 时间:
2014-05-13 20:11:47
阅读次数:
326
原文第3章 抽象工厂模式(Abstract Factory)场景我们的系统要同时支持两个数据库
SqlServer 跟Oracle数据库
并且不同的环境要进行随时切换。看下面的代码:12345678910111213141516171819202122232425262728293031323334...
分类:
其他好文 时间:
2014-05-12 09:12:03
阅读次数:
295
原文第2章
简单工厂模式(SampleFactory)一般用到的场景:对象多次被实例引用,切有可能会发生变化拿我们的简单三层举例子先定义dal层12345678classDal
{ publicvoidDelete() { //... } }工厂类12345678910classFactory { ...
分类:
其他好文 时间:
2014-05-12 09:04:58
阅读次数:
222
原文:23种设计模式大全(适合新手阅读)第Ⅰ部分 开篇 序章第Ⅱ部分 创建型模式篇第1章
单例模式(Single Pattern)第2章 简单工厂模式(SampleFactory)第3章 抽象工厂模式(Abstract Factory) 第4章
建造者模式(Builder Pattern)第5章 原...
分类:
其他好文 时间:
2014-05-12 08:57:45
阅读次数:
319
抽象工厂模式是工厂方法的一般情况。产品族:相同属性的不同种类的产品的集合。如南方水果和南方蔬菜为一个产品族,北方水果与北方蔬菜为另一个产品族产品等级结构:种类即为等级结构。如水果、蔬菜两个等级结构。如果工厂只生产水果,则为工厂方法模式。即工厂方法模式的工厂只生产一个等级结构的产品。如果工厂生产水果与...
分类:
其他好文 时间:
2014-05-10 22:17:51
阅读次数:
292