Um termo comumente utilizado é o de "modelo de negócios" (business model). No caso de uma aplicação baseada em MVC, a parte do "model" seria o business model. Até aí todos dizem, maravilha... Agora, o que seria de fato "modelo de negócios"? Eu ainda não achei uma explicação simples para isso. Em alguns casos parece que tem ligação com a requisição dos dados de um BD (no caso do MVC), enquanto que em outros dá a entender que é a lógica de negócio específica de uma aplicação, como por exemplo: em uma dada loja, é preciso implantar um sistema onde o valor do produto terá uma quantia de 10% agregada, que é a comissão do vendedor - estes casos específicos de cada negócio, são os que definem um modelo de negócios?
Outro item em que ainda tenho muita dúvida é em identificar uma composição e uma agregação. A teoria é barbada: na composição existe contenção, ou seja, assim que o pai é destruído, o filho também o será. No caso da agregação isso não acontece, visto que o objeto "parte" é instanciado de forma independente do "todo".
Agora, neste caso aqui, o que seria?
$venda = new Venda(3,new Produto(9.68,"Meu produto",3));
Eu considero como composição, visto que se o objeto venda for destruído, o objeto Produto também o será... Mas já vi livros dizendo que isso é agregação Alguém pode clarificar isso?
Outra coisa, já vi isso:
$produto = new Produto(); $produto->quantidade = 3; $produto->id = 2; $produto->nome = "Meu produto" $venda = new Venda(3,$produto);
Ser declarado como uma composição... E não como uma agregação (que para mim parece ser mais coerente, seguindo os conceitos).
Alguém dá uma forcinha?
Valeu!