在开发网站的时候,我们经常要用到Factory Method模式与Abstract Factory模式,但它们有很多相似之处,大家容易搞混,那它们到底有那些区别呢?

Factory Method模式:Factory Method模式使一个类的实例化延迟到子类,具体来讲,就是Factory Method模式将创建对象实例的责任转移到工厂类,也就是说在工厂类里面,定义对象的实例化。

Abstract Factory模式Abstract Factory模式是一系列对象的创建,所以在抽象工厂类里面要创建一系列的对象的实例化,而不是单个对象的实例化。 切记这一系列对象存在一定的联系。

演示代码一

大家知道数据库有 SQL数据库与甲骨文数据库,现实当中我们有时候需要变换不同的数据库访问 以下采用Factory Method模式做这个变换效果

Factory Method模式与Abstract Factory模式区别using System;
Factory Method模式与Abstract Factory模式区别
using System.Collections.Generic;
Factory Method模式与Abstract Factory模式区别
using System.Text;
Factory Method模式与Abstract Factory模式区别
Factory Method模式与Abstract Factory模式区别
namespace FactoryMethod
}



结果输出:访问的是SQL数据库


演示代码二

      大家都知道衣服 有纽扣 也有衣领, 纽扣 衣领这些小东西一般需要交给加工厂单独来制作,在这里我们假设在中国加工厂制作称为中国的衣服(中国制造),在美国加工厂制作称为美国的衣服(美国制造)。以下采用abstractFactory模式来演示。

Factory Method模式与Abstract Factory模式区别using System;
Factory Method模式与Abstract Factory模式区别
using System.Collections.Generic;
Factory Method模式与Abstract Factory模式区别
using System.Text;
Factory Method模式与Abstract Factory模式区别
Factory Method模式与Abstract Factory模式区别
namespace abstractFactory
}



结果输出:中国的纽扣
              中国的衣领





相关文章: