`
y806839048
  • 浏览: 1086927 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

工厂模式

阅读更多
//工厂模式就类似于接口,不同的产品有一个统一产品的接口,不同的工厂有一个统一的工厂接口
//面向接口编程的思想

public interface Cycle {  
    public void run();  
}


public class UniCycle implements Cycle {  
 
    @Override 
    public void run() {  
        // TODO Auto-generated method stub  
        System.out.println("Cycle Run");  
    }  
 



public class BiCycle implements Cycle {  
 
    @Override 
    public void run() {  
        // TODO Auto-generated method stub  
        System.out.println("BiCycle Run");  
    }  
 



public class TriCycle implements Cycle {  
 
    @Override 
    public void run() {  
        // TODO Auto-generated method stub  
        System.out.println("TriCycle Run");  
    }  
 



public interface CycleFactory {  
    public Cycle getCycle();  



public class UniCycleFactory implements CycleFactory {  
 
    @Override 
    public Cycle getCycle() {  
        // TODO Auto-generated method stub  
        return new UniCycle();  
    }  
 


public class BiCycleFactory implements CycleFactory {  
 
    @Override 
    public Cycle getCycle() {  
        // TODO Auto-generated method stub  
        return new BiCycle();  
    }  
 



public class TriCycleFactory implements CycleFactory {  
 
    @Override 
    public Cycle getCycle() {  
        // TODO Auto-generated method stub  
        return new TriCycle();  
    }  
 



public class FactoryTest {  
 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        run(new UniCycleFactory().getCycle());  
        run(new BiCycleFactory().getCycle());  
        run(new TriCycleFactory().getCycle());  
          
        run(new UniCycleFactory());  
        run(new BiCycleFactory());  
        run(new TriCycleFactory());  
    }  
      
    public static void run(Cycle cycle){  
        cycle.run();  
    }  
      
    public static void run(CycleFactory cycleFactory){  
        Cycle cycle = cycleFactory.getCycle();  
        cycle.run();  
    }  
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics