Skip to content

Instantly share code, notes, and snippets.

@RichoDemus
Created October 31, 2014 09:44
Show Gist options
  • Save RichoDemus/3d5bd0dc1fea1d072cb5 to your computer and use it in GitHub Desktop.
Save RichoDemus/3d5bd0dc1fea1d072cb5 to your computer and use it in GitHub Desktop.
package richo.testproject.other;
import javax.inject.Inject;
/**
* Created by tjerngrr on 2014-10-31.
*/
public class GuiKlass
{
/**
* Dett är då snajdig dependency injection
* Någonstans, i nån conf, har jag konfat att om en klass behöver en instans av interfacet DatabaseApi
* så kommer de få klassen DBImpl, sedan ifall jag inser att DBImpl (som kanske är för en SQL-databas) behöver bytas ut
* för att nu ska vi köra MongoDB eller något annat, så behöver jag bara ädnra i den confen, denna klass behöver en ändras
*/
@Inject
private final DatabaseApi db;
public void renderListOfUsersForWebPageOrSomething()
{
final String[] users = db.getUsers();
/**
* här ritar vi upp alla användare för GUIt eller nått, orka skriva GUI-kod för ett exempel
*/
}
private interface DatabaseApi
{
String[] getUsers();
}
private class DBImpl implements DatabaseApi
{
@Override
public String[] getUsers()
{
return new String[]{"blabla"};
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment