设计模式之—抽象工厂模式(Abstract Factory)-Java实现

抽象工厂模式(Abstract Factory):

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

public interface Person{        
}  
public class Student implements Person{  
}  
public class Teacher implements Person{  
}  
abstract class PersonFactory{
       abstract  Person  producePerson();
       public static PersonFactory getInstance(String classname) {   
       PersonFactory personFactory = null;    
        try {    
                 personFactory = (PersonFactory) Class.forName(classname).newInstance();    
         } catch (Exception e) {    
            e.printStackTrace();    
        }    
        return personFactory ;    
    }
}
  
public class StudentFactory extends PersonFactory {   
    @Override    
    public Person producePerson() {    
        return new Student();    
    }    
}    

public class TeacherFactory extends PersonFactory {   
    @Override    
    public  Person producePerson() {    
        return new Teacher();    
    }    
}   

public class AbstractFactory{  
    public static void main(String args[])throws Exception{  
        Properties p = new Properties();  
        p.load(new FileInputStream("1.properties"));  
        String str = p.getProperty("Student");  
        Person p = PersonFactory.getInstance(str);  
        p.producePerson();  
    }  
}

-------------------------------------------------------------------------------

1.properties代码:
Student=com.factory.abstract.Student  
Teacher=com.factory.abstract.Teacher 

 上面就介绍完了抽象工厂模式,下期预告,单例模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章