Eu não entendi a pergunta, o que seria a tarefa, produtoDAO e categoriaDAO?
Os DAO's que criamos recebem a conexão no construtor. Imagine que, ao invés disso, pegamos uma nova conexão automaticamente em um construtor sem argumentos, como no código a seguir:
public class ProdutosDAO { private final Connection con; ProdutosDAO() { con = Database.getConnection(); } }
O que acontece caso uma tarefa tenha que acessar dois dados, como ProdutoDAO e CategoriaDAO? Qual a desvantagem desta abordagem?