41
loading...
This website collects cookies to deliver better user experience
Clients should not be forced to depend on interfaces that they don't use
public interface PersistenceService {
/*
* Saves an entity to a Database
*/
void save(Entity entity);
/**
* Finds an entity from database by id
* @param entity id
* @return entity
*/
Entity findById(String id);
/**
* Finds an entity from database by id
* @param entity name
* @return entity
*/
Entity findByName(String name);
}
public class ProductPersistenceServiceImpl implements PersistenceService {
@Override
public void save(Entity entity) {
// TODO Auto-generated method stub
}
@Override
public Product findById(String id) {
// TODO Auto-generated method stub
return null;
}
@Override
public Product findByName(String name) {
// TODO Auto-generated method stub
return null;
}
}
public class OrderPersistenceServiceImpl implements PersistenceService {
@Override
public void save(Entity entity) {
// TODO Auto-generated method stub
}
@Override
public Order findById(String id) {
// TODO Auto-generated method stub
return null;
}
@Override
public Order findByName(String name) {
// TODO Auto-generated method stub
return null;
}
}
findByName
method. Rather, let the Product implementation handle it as its their special scenario. Here's the updated code for all three classes.public interface PersistenceService {
/*
* Saves an entity to a Database
*/
void save(Entity entity);
/**
* Finds an entity from database by id
* @param entity id
* @return entity
*/
Entity findById(String id);
}
public class ProductPersistenceServiceImpl implements PersistenceService {
@Override
public void save(Entity entity) {
// TODO Auto-generated method stub
}
@Override
public Product findById(String id) {
// TODO Auto-generated method stub
return null;
}
public Product findByName(String name) {
// TODO Auto-generated method stub
return null;
}
}
public class OrderPersistenceServiceImpl implements PersistenceService {
@Override
public void save(Entity entity) {
// TODO Auto-generated method stub
}
@Override
public Order findById(String id) {
// TODO Auto-generated method stub
return null;
}
}