Isso sem encaixa em algum padrão?

pra variar ando estudando pattersn e etc etc …
nao conhecia o conceito de Injeção de dependencias

minhas fontes,

http://www.javafree.org/content/view.jf?idContent=1

livro Patterns of Enterprise Application, Martin Fowler Plugins (499)

fiz esta simploria implementação,
e gostaria que dessem suas opinioes a respeito …
lembrando que a ideia é apenas eu descobrir se a essencia é essa mesma :oops:

package interfaces;

public interface IGenerico { public void mostrarNome(); }

[code]
public class ClasseAlpha implements IGenerico {

public void mostrarNome() {
	JOptionPane.showMessageDialog(null, "Classe Alpha");
}

}[/code]

[code]public class ClasseBeta implements IGenerico {

public void mostrarNome() {
	JOptionPane.showMessageDialog(null, "Classe Beta");
}

}[/code]

[code]

public class AddPlugin {
private static Properties prop;

public static void load() {
	prop = new Properties();
	try {
		prop.load(new FileInputStream("plugins.properties"));
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
}

public static String getProp(String key) {
	String value = null;
	value = prop.getProperty(key);
	return value;
}

public static Object getPlugin(Class Iface) {
	Object objeto = null;
	String implName = prop.getProperty(Iface.getName());
	
	if(implName != null) {
		try {
			objeto = Class.forName(implName).newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	return objeto;
}

}[/code]

e finalmente,

[code]
public class Main {

public static void main(String[] args) {
	AddPlugin.load();
	ClasseTeste teste = new ClasseTeste(IGenerico.class);
	teste.mostrarNome();
}

}[/code]

acho que é isso … :roll:

[…]s

só mais uma coisa …
o Pattern Plugin, descrito no livro do Fowler é a mesma ideia da injeção de dependencias??

[…]s

Nao… da uma lida nesse artigo:

é o mesmo link amigo, :frowning:

em ingles,
http://www.martinfowler.com/articles/injection.html

em portugues,
http://www.javafree.org/content/view.jf?idContent=1