Uma das soluções sugere criar vários construtores sobrecarregados:
public class Pedido {
public Pedido(String cliente, String endereco) { ... }
public Pedido(String cliente, String endereco, List<Item> itens) { ... }
public Pedido(String cliente, String endereco, List<Item> itens, double desconto) { ... }
public Pedido(String cliente, String endereco, List<Item> itens, double desconto, String cupom) { ... }
}
Porém isso não é o ideal, pois a quantidade de construtores cresce rapidamente a cada novo parâmetro, dificultando a leitura e a manutenção do código.