【发布时间】:2020-09-28 10:38:21
【问题描述】:
我有一个问题。我有这些课程:
public interface CRUDService<MODEL extends BaseModel<ID>,ID extends Serializable>
{
List<MODEL> findAll();
MODEL findById(ID id);
// + delete, save & update methods
}
public abstract class AbstractCRUDService<MODEL extends BaseModel<ID>,ID extends Serializable> implements CRUDService<MODEL,ID>
{
//overriding the CRUDService interface methods here.
}
像这样从AbstractCRUDService 扩展每个服务是否更好:
public class DefaultProductService extends AbstractCRUDService<ProductModel,Long> implements ProductService
{ //some methods here}
或者我应该从AbstractCRUDService 中删除abstract 并将此服务注入到DefaultProductService 中?
public class DefaultProductService implements ProductService {
@Autowired
private CRUDService<ProductModel,Long> crudService;
// override "ProductService" methods here.
}
【问题讨论】:
标签: java inheritance aggregation