Genellikle oluşturulması zor ve aynı sınıftan türeyen alt sınıflardan nesne üretmek için kullanılır.
Gerçek hayatta Herhangi bir kalıtım alan sınıflarda kullanılmak için değerlendirilebilir.
public interface Database{
void connect();
//something method
}
public class Mysql implements Database {
public void connect(){
}
}
public class Sqlite implements Database {
public void connect(){
}
}
public class DatabaseFactory {
public static Database getDatabase(String databaseName) {
if(databaseName == "mysql")
return new Mysql();
else if(databaseName == "sqlite")
return new Sqlite();
return null;
}
}
public class Main{
public static void main(String []args){
Database db = DatabaseFactory.getDatabase('mysql');
}
}
Not: Kodlar dummy koddur. Test edilmedi.
Bir yanıt yazın