Fala mestre, beleza?
Tenho duas dúvidas técnicas referentes alguns aspectos de código:
1 - Em vários treinamentos você não usa o sufixo "Interface" em nomes de interfaces. Você não utiliza o sufixo por didática ou por que não é realmente uma recomendação?
2- Para salvar os itens orçamentáveis você utilizou um array simples e para o escopo do problema que é bem simples atende bem. Nesses casos que envolvem armazenamento de objetos, quase sempre, costumo fazer uso da classe SLPObjectStorage de alguma forma. Caso precisássemos, por exemplo, salvar o nome do item como um índice a ser pesquisado e realizar outras operações (como saber se já tenho aquele item adicionado) você adotaria o ObjectStorage, continuaria fazendo uso de um array ou adotaria outra estratégia? A minha curiosidade é por que a SPL parece dar soluções prontas para várias coisas mas vejo muito pouco usada (talvez por eu não ser um profissional ainda).