设计模式学习笔记--适配器(Adapter)模式(二)

2014-11-23 23:56:44 · 作者: · 浏览: 1
CollectionData也是一个适配器设计模式的实例,它将Generator适配到CollectionData的构造器上。Java编程思想的作者Bruce Eckel认为,这也许并非是适配器的严格定义,但它符合适配器思想的基本精神。

(2)代码如下

import java.util.*;
//Generator是个工具类,用于实例化对象的
interface Generator
  
   
{
	T next();
}
class BasicGenerator
   
     implements Generator
    
      { private Class
     
       type; public BasicGenerator(Class
      
        type) { this.type = type; } public T next() { try { return type.newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } public static 
       
         Generator
        
          create(Class
         
           type) { return new BasicGenerator
          
           (type); } } //CollectionData是个适配器类,用于把Generator适配到CollectionData上 class CollectionData
           
             extends ArrayList
            
              { public CollectionData(Generator
             
               gen,int quality) { for(int i=0;i
              
                CollectionData
               
                 list(Generator
                
                  gen,int quality) { return new CollectionData
                 
                  (gen,quality); } }