Nosso modelo de objetos não deve ser uma cópia do nosso modelo de dados
Esta semana aconteceu uma discussão bem interessante na lista interna da Caelum sobre Active Records. E no meio desta discussão surgiu o seguinte tema: "Nosso modelo de objetos não deve ser uma cópia do modelo de dados."
Acho que isso a maioria das pessoas já sabia, mas o que tenho visto por aí em projetos que trabalhei é exatamente o contrário: um modelo de objetos exatamente igual ao modelo de dados.
Por que ainda utilizamos uma abordagem assim?
Em minha opinião, o principal problema é que muitos desenvolvedores ainda não entenderam corretamente Orientação a Objetos. A prova disso são os sistemas escritos de forma totalmente procedural.
Tentarei exemplificar algumas destas diferenças. Este exemplo é uma adaptação de um problema real que eu presenciei. Vamos imaginar um sistema de cursos onde nós temos as tabelas:
5 bons motivos para usar jQuery
1) jQuery é um FrameWork JavaScript, que utiliza uma DSL simples e objetiva, que ajuda o desenvolvedor a abstrair uma grande quantidade de código que não fazem parte da lógica no seu negocio, como problemas de compatibilidade de navegadores por exemplo.
2) Alem disso tem uma grande capacidade de manipular elementos de uma página com pouco código.
Exemplos:
Deixar um elemento invisível:
$("#id_do_meu_elemento").hide();
Manipular o css de um elemento:
$("#id_do_meu_elemento").css("background-color","Blue");
Manipular o conteúdo de um elemento:
$(p).append("inserindo esse conteúdo em todos os parágrafos");
A lista e exemplos que poderia exibir aqui é enorme, mas esse não é o foco no momento
Aprenda Ruby parte V – Métodos
Nesse artigo vamos conhecer um pouco de métodos em Ruby. Você, programador experiente deve estar pensando "Não deve ter nada de muito diferente.." vamos ver o que você acha até o final desse post.
Estrutura
O Método em Ruby é declarado da seguinte forma:
def nomeDoMetodo #código end
Só isso?
Não tenho que dizer o que ele retorna?
Ou dizer que ele não retorna nada "void" ?
É isso mesmo, no Ruby você não precisa definir o que o seu método retorna, também não temos obrigação de utilizar "return" o nosso método sempre vai retornar o ultimo valor atribuído.
É tão simples que deve ter ficado difícil de você visualizar:). Vamos ver um exemplo: