Criei uma interface chamada HandleDB que contém métodos para manipulação no banco de dados (insert, remove, update, list).
Tenho 4 classes: (Todas implementam HandleDB)
-ModelAdmin
-VariableAdmin
-StationAdmin
-StateAdmin
Essa é a camada de negócio.
Minha dúvida é a seguinte:
Quero utilizar Business Delegate e Service Locator para me conectar a camada de negócio, mas eu tenho dúvida qt à implementação desses patterns.
Eu poderia fazer assim?
public class MeuBusinessDelegate {
public void insert(Object obj) {
MeuServiceLocator sl = new MeuServiceLocator();
sl.insert(Object obj);
}
public void remove(Object obj) {…}
public void update(Object obj) {…}
public List list(Object obj) {…}
}
public class MeuServiceLocator {
public void insert(Object obj){
HandleDB handleDB = null;
if(obj instanceof ModelBean) handleDB = new ModelAdmin();
if(obj instanceof VariableBean) handleDB = new VariableAdmin();
if(obj instanceof StationBean) handleDB = new StationAdmin();
if(obj instanceof StateBean) handleDB = new StateAdmin();
if(handleDB != null) handleDB.insert(obj);
}
.
.
.
}
Enfim, utilizo o Service Locator para ocultar os detalhes da implementação por trás do código de pesquisa de serviço de negócios.
É isso mesmo? Eu poderia fazer assim? Isso está certo?



