Idéias sobre encapsulamento, linq e delegates em C#
Atualmente estou trabalhando em projeto .Net. É a primeira vez que utilizo a plataforma profissionalmente e não dá para negar o quanto a .Net está interessante. Estou bastante impressionado com a linguagem C#. Apesar de todos os recursos interesantes da linguagem, tenho percebido que está acontecendo uma espécie de “relaxamento” em relação as boas práticas, principalmente de orientação a objetos. Umas coisas que mais tenho notado é a falta de preocupação com o encapsulamento, principalmente quando se usa delegates e linq.
Neste post vou analisar alguns pontos relacionados a encapsulamento e o uso do Linq.
Vamos começar a analisar um modelo de objetos simples:
Esse código que acabei de escrever está bom?
No inicio do aprendizado da linguagem Java, tudo é dificil. Não conseguimos nem mesmo converter um string em um numero ou vice e versa. Pra superar estas dificuldades recorremos a livros, apostilas, fóruns, blogs ou cursos.
Depois de ler livros, ou fazer cursos, essas "dificuldades operacionais" desaparecem, afinal aprendemos a usar melhor a linguagem e passamos a conhecer melhor suas apis. Nesse ponto já somos capazes de por exemplo converter um String em um numero, criar e organizar listas de elementos, usar arquivos para realizar operações de leitura e escrita.
Equipes novas, Manias antigas…
Impressionante a reação que as expressões "código expressivo" e "modelo de domínio rico" provocam na maioria das pessoas. Caretas e narizes torcidos são as reações mais comuns, além é claro daqueles olhares atravessados disparados contra você, nestas horas você se sente um ET.
