Java 设计模式之工厂模式(Factory) 时间:2024-08-04 17:23 来源:未知 作者:和水柔石 CSDN IE QQ 百度 我挖 Google POCO Yahoo 新浪 365Key 天极 和讯 博拉 Live 奇客 鲜果 收客 饭否 叽歪 挖客 核心提示:作者:和水柔石 一、引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz (奔驰)、Bmw (宝马)、Audi (奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车
不过,爆发户坐车时总是这样:上 Benz 车后跟司机说 开奔驰车
,坐上 Bmw 后他说 开 作者:和水柔石 一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz (奔驰)、Bmw (宝马)、Audi (奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车
不过,爆发户坐车时总是这样:上 Benz 车后跟司机说" 开奔驰车
" ,坐上 Bmw 后他说" 开宝马车
" ,坐上 Audi 后他说" 开奥迪车
你一定说:这人有病
直接说开车不就行了
而当把这个爆发户的行为放到我们程序语言中来,我们发现 C 语言一直是通过这种方式来坐车的
幸运的是,这种有病的现象在 OO 语言中可以避开了
下面以 Java 语言为基础来引入我们本文的主题:工厂模式
二、简介工厂模式主要是为创建对象提供了接口
工厂模式根据《Java 与模式》中的提法分为三类:1
简单工厂模式(Simple Factory) 2
工厂方法模式(Factory Method) 3
抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性
还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类
下面是使用工厂模式的两种情况:1
在编码时不能预见需要创建哪种类的实例