创建型模式(一):FactoryMethod ( 工厂方法 )

客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。

例子:追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 

 1 interface Sample{
2 public void say();
3 }
4
5 class SampleA implements Sample{
6 public void say(){
7 System.out.println("SampleA");
8 }
9 }
10
11 class SampleB implements Sample{
12 public void say(){
13 System.out.println("SampleB");
14 }
15 }
16
17 class Factory{
18 public static Sample create(int which){
19 if(which==1)
20 return new SampleA();
21 else if(which==2)
22 return new SampleB();
23 else return null;
24 }
25 }
26
27 public class Test {
28 public static void main(String[] args) {
29 Sample test1=Factory.create(1);
30 test1.say();
31 Sample test2=Factory.create(2);
32 test2.say();
33 }
34 }

 

posted @ 2011-12-06 20:55  一直在等  阅读(264)  评论(0编辑  收藏  举报