Comunidade…

Como alguns sabem eu participo menos do que gostaria de algumas comunidades por aí. Ontem tivemos uma reunião no dojoRio na qual  praticamos TDD e conseguimos aprender bastante. Digamos que com os erros cometidos pudemos observar uma melhor forma de resolução e conseguimos analisar melhor os problemas que tivemos ( e foram muitos). Discutimos bastante sobre como fazer, cada um com uma opinião distinta, baseada em suas experiências, erramos muito e como de costume nos sentamos para entender o que fizemos. Foi impressionante a quantidade de informações tiradas de poucas horas de Dojo. E o mais interessante é que desta forma não é tão fácil de esquecermos as melhores práticas.

É muito interessante o aprendizado tirado de atividades em grupo. Na área tecnológica o fator “fazer parte da comunidade/grupo” é essencial atualmente, e quando bem aproveitado pode render ótimos frutos. Sugestão para quem está começando: entrem em grupos de discussão, falem, ouçam…  enfim, participem. Vão a reuniões, seminários, palestras. Saiam do seu “mundinho”. Conheçam gente nova. Isso ajuda a deixar a mente aberta.

Todo o aprendizado tirado destas experiências vale mais do que o conteúdo de livros, já que nem todas as informações está descrita no papel. O conhecimento tácito, aquele que é de domínio de quem tem a prática, não é expressado com tanta facilidade com palavras.  É preciso interação.

Fica o convite…

até a próxima!

Interfaces

Interfaces são estruturas que disponibilizam membros que uma classe deve implementar, como um contrato. As classes que implementarem uma certa interface precisam implementar os métodos e atributos definidos pela mesma.

Diagrama com interfaces
Interface IMessage

Lembrando um pouco a herança (bem pouco…), na interface definimos características e funcionalidades para um conjunto de classes de objetos, sendo que no conceito de interface podemos implementar quantas interfaces quisermos a partir  de uma classe contanto que esta classe implemente todos os membros da interface.

Numa interface os métodos não possuem implementação, por isso é feita a implementação nas classes que a implementam. Veja:

Codigo de Interface
Implementando a interface

Em resumo é isso.

Até …

Inheritance /Herança

Conceito básico mas importantíssimo na orientação à objetos.

A idéia de herança está relacionada com criar novas classes baseadas numa classe já criada.Por que motivo ? Ah, nada d+, reutilizar código, por exemplo.

Quando pensavamos em realizar alguma programação era necessário visualizar apenas o problema sendo resolvido, e bem rápido. Ainda é assim, só que se é pra usar orientação à objetos, vamos pelo menos tentar fazer algo organizado. Como?

Imagine que você tem várias classes com métodos e propriedades que se repetem. Exemplos?

Herança

Classes antes da herança

Podemos ver que alguns métodos e Propriedades estão se replicando nas classes. Com a herança é possível melhorar isto se criarmos uma classe veículo que suporta as características comuns entre as classes. Vejamos.

Herança

Agora com a herança

Perceba que se ocorrer algum erro num dos métodos da classe veículo todos as classes serão afetadas, porém a grande vantagem é que a manutenção será feita apenas em um local.

Este exemplo foi o mais simples possível apenas como introdução ao conceito de herança. Em posts que estão por vir Herança será visto juntamente com outros conceitos e práticas.

… Abraços e até a próxima.

Tipos implícitos…

Apesar de ser algo não muito utilizado, não pode ser considerado algo novo, já que o framework 3.0 foi lançado no fim de 2007.

Esta nova opção de declarar a variável no C# é uma verdadeira mão na roda (e já estou viciado).  Funciona da seguinte forma:

var data = new DateTime();

O var substitui a declaração explícita do tipo fazendo com que o compilador entenda que o que está a  direita do sinal de  igual (=) será a definição do tipo da variável.

Outro exemplo é criar um array com tipo implícito

var arrayFoo = new[] {2,3,4,5,6} // inteiros
var arrayBar = new[] {‘lorem’, ‘Ipsum’,'bla’, ‘bla’,'bla’} // strings

O mais importante é que não precisamos declarar o tipo da variável, pois usando o var o compilador identifica qual o tipo.

Lembrando: sempre que utilizarmos o tipo implícito de dados a variável requer uma inicialização. Por exemplo:

var num;

Este código não funcionará pois não inicializei a variável. Desta forma o compilador não consegue definir o tipo.

Para saber mais:

Até a próxima…

Hello world! /Olá Mundo!

Hey Everyone.. this post is  not my first and i’d like to introduce myself. I’m a software  student and i really enjoy technology. The main goal is to learn a lot and to  develop solutions to help people with there jobs… and other stuff. I try to write in english too but it’s just for practice.. Someday i’m learning it for real.

Ei todo mundo,  este post não é meu primeiro e eu gostaria de me apresentar.  Sou um estudante de software e eu realmente gosto de tecnologia. A meta principal é aprender bastante e desenvolver soluções para ajudar pessoas no trabalho… e outras coisas. Eu tento escrevo em inglês também mas é apenas para treinar… Algum dia aprenderei de verdade.

Follow

Get every new post delivered to your Inbox.