設計模式之—抽象工廠模式(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 

 上面就介紹完了抽象工廠模式,下期預告,單例模式

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