首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

FACTORY设计方式【让吃货也能理解的程序】

2013-09-06 
FACTORY设计模式【让吃货也能理解的程序】一个人要有思想,技术再牛的人,如果没有一点点文化气氛,那么也是个

FACTORY设计模式【让吃货也能理解的程序】

一个人要有思想,技术再牛的人,如果没有一点点文化气氛,那么也是个码农,不能追到女朋友滴。

我这个人文化真心不多,但是比较喜欢读古诗文。虽然读完之后,记在脑海里的不多,不过,就讨一个喜欢【读】。

Leechee:荔枝,南国四大果品居首。

1、简单模式

package patterns.createable.factory;/** * "日啖荔枝三百颗,不辞长作岭南人"---摘自 宋朝苏轼·《惠州一绝》 * 古人对荔枝的赞美,频频出现在诗句中 * 的确,这南国的荔枝,的确值得品尝 * 在南国有四大果品中,荔枝居首 *  * @author one * */public class Leechee {void eat(){System.out.println("Eat Leechee");}}


 

package patterns.createable.factory;/** * 好东西,要学会分享,不要掖着。 * 所以开了个荔枝加工厂,让四海之内的兄弟姐妹都尝尝 *  * @author one *  */public class LeecheeFactory {Leechee get() {return new Leechee();}}
package patterns.createable.factory;/** * 都听说荔枝好吃 * 社区的人都来买来尝尝。 * @author one * */public class Test {/** * @param args */public static void main(String[] args) {//工厂将荔枝打包,发往全国各地LeecheeFactory lf=new LeecheeFactory();//荔枝到达了中国皖南地区,那里的人也喜欢,就买了一点Leechee leechee=lf.get();//尝尝,的确不错leechee.eat();}}

得到的结果:

Eat Leechee


2、工厂方法模式

package patterns.createable.factory;/** * "大师兄,不好了,师傅被妖怪抓走了" * "出什么状况了?" * "我们的荔枝把妖怪培养成吃货,它们夹持了我们的师傅,要新口味的水果。" * "这...我来想办法。"思考良久,"老子的香蕉,难道也要分享给这群吃货。" * "恐怕那些吃货不肯吃啊!" * "呃...我们只要简单的包装一下。" * @author one * */public abstract class Fruit {abstract void eat();}
package patterns.createable.factory;/** * 新鲜口味的水果 * @author one * */public class Banana extends Fruit {@Overridevoid eat() {System.out.println("Eat Banana");} }
package patterns.createable.factory;/** * 这个工厂就是生产香蕉的 * @author one * */public class BananaFactory {Banana get(){return new Banana();}}

好了....师傅放回来了,可是每两周又被妖怪威胁要新的口味,导致我的工厂越来越多,没法管理了,怎么办?

统一一下:

package patterns.createable.factory;/** * 成立总部,专做水果生意 * @author one * */public abstract class FruitFactory {  abstract Fruit get();}


公司改造,上市!

这样让所有的公司统一管理。至于是什么业务,生产什么水果,从总公司拿到订单,吩咐子公司去做就行了。

 


3、抽象工厂模式

【这个不说,可以理解为:水果加工产业,不属于水果生产,这个时候,就更高一层的把公司“工厂”抽象】

 

========================

在网上看到很多文章,看到很多人经常把简单工厂模式和工厂方法模式弄混淆,这里再说一下:工厂是具体实例,那么就是产品【荔枝】了,而工厂方法模式是一类产品的抽象【荔枝和香蕉都属于水果】。至于抽象工厂,就是不同产品类了,完全没有产品共性了,但属于莫一个公司【水果和水果加工产业都属于一个公司】,或者一个单位。更高一层的抽象。


 

热点排行