WEB开发网
开发学院网页设计JavaScript Javascript乱弹设计模式系列(2) - 抽象工厂以及工... 阅读

Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)

 2010-09-14 13:35:26 来源:WEB开发网   
核心提示:概述抽象工厂模式广泛应用于因为需求变动导致一些相似对象的创建工作,拿我们做项目最熟悉的多版本数据库,Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory),根据数据库的不同,有可能有SQLServer,在网站中用户分为几种类型,我这里暂且暂且分为游客,Access,Oracle

概述

抽象工厂模式广泛应用于因为需求变动导致一些相似对象的创建工作,拿我们做项目最熟悉的多版本数据库,根据数据库的不同,有可能有SQLServer,Access,Oracle,MySQL版本等等的数据库,这样我们就能运用工厂模式,把各个数据库中相似的功能操作封装到它们各自的对象模型中,通过工厂对象统一创建各个对象实例,是客户程序和这些具体对象实现了松耦合;而工厂方法模式主要是针对某个对象的需求变更,但是这个对象不会随着它的变动而导致它所在的业务流程中的变动,它具有高聚合的能力,因此它的外部接口是很稳定的;

定义

抽象工厂模式是每个抽象产品派生多个具体产品类,每个抽象工厂派生多个具体工厂类,每个具体工厂负责多个(一系列)具体产品的实例创建。

工厂方法模式是每个抽象产品派生多个具体产品类,每个抽象工厂类派生多个具体工厂类,每个具体工厂类负责一个具体产品的实例创建。

类图

抽象工厂模式类图

Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)

工厂方法模式类图

Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)

实例分析

在开始工厂模式之前,有必要先介绍下简单工厂的说法,为了避免在客户程序的对象出现"if...else..."代码难以扩展以及维护,这里创建一个工厂类来封装这些对象,那这个就应用了简单工厂的方式。

这个场景是这样,有个博客网站,在网站中用户分为几种类型,我这里暂且暂且分为游客,博客会员,超级管理员三种用户权限:

1 2 3 4 5 6  下一页

Tags:

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接