quarta-feira, 30 de janeiro de 2013

Quando usar SINGLETON

Eu me recuso a falar disso, achei uma explicação bacana no site do Macoratti que diz tudo sobre o assunto, embora o exemplo dele ter sido codificado em VB.NET eu sou programador e foi a primeira linguagem que eu aprendi :P Leia aqui.

Se você quer ver e aprender outros Patterns recomendo visitar o dofactory.

Praticamente eu não tenho postado nada aqui a muito tempo, mais quero voltar.

Flw




quinta-feira, 12 de abril de 2012

var no C#

O var foi incorporado na versão 3.0 do C# é um tipo implícito fortemente tipado.
Como usar:
- O var deve ser usado dentro do escopo do método e deve ser atribuído na sua declaração, exemplo:
var inteiro = 1;
O compilador assumirá que a variável inteiro é do tipo int, não será mais possível mudar a sua tipagem durante o ciclo de vida da variável.

- O var não pode ser utilizado como retorno e nem mesmo como parâmetro de entrada, só é possível usa-lo dentro de escopo de métodos.

Podemos usar o var quando estamos trabalhando lista de tipos anônimos. A vantagem de usar var neste caso é que quando estamos varrendo uma lista de itens anônimos o unboxing do item da lista acontece de forma transparente para o tipo nativo, isso é feito pelo compilador para evitar problemas de cast que poderiamos ter ao fazer uma conversão(unboxing) manualmente para algum tipo.

Resumindo...
-O var é de tipagem dinâmica.
Referência: http://msdn.microsoft.com/pt-br/library/vstudio/bb383973.aspx

quarta-feira, 28 de julho de 2010

CodeRun.Com

A um tempo eu vi uma postagem interessante no grupo do .Net Architects e queria postar aqui já faz um tempo é o CodeRun uma ferramenta que simula o Visual Studio Online, acessa ela aqui, boa diversão.

Att

Refactoring de código

Hoje deu vontade de postar e como faz um tempo que não posto nada aqui quero falar agora de um assunto muito comentado ultimamente e de grande importância.

Você já pensou na forma que escreve os seus códigos? A estrutura de organização? Não? Pois bem.

Para quem não conhece a programação orientação a objetos tem inúmeros processos para poder escrever um código funcional bem organizado e um deles é a prática de efetuar refactoring do código.

A prática consiste em organizar um código caótico ou mal organizado em uma leitura de organização simples, imagine o seguinte trecho de código feito em Java(retirado do WikiPedia):

/** Salva o produto no banco de dados. */
public void save()
{
// Verifica propriedades
if (this.getName() == null)
{
throw new Exception("Falta nome");
}
else if (this.getDescription() == null)
{
throw new Exception("Falta a descrição");
}

this.getDatabase().save(this);
}

Note que neste exemplo o programador no método save validou a entrada dos dados e depois fez a persistência dos dados no banco, este é um código não refatorado, o mesmo código pode ser escrito da seguinte forma:

 /** Salva o produto no banco de dados. */
public void save()
{
this.checkProperties();
this.getDatabase().save(this);
}

/** Verifica as propriedades do produto. */
public void checkProperties()
{
if (this.getName() == null)
{
throw new Exception("Falta nome do produto.");
}
else if (this.getDescription() == null)
{
throw new Exception("Falta a descrição do produto.");
}
}
Note que depois do refactoring o método save() está bem mais legível e de fácil leitura, perceba que toda a responsábilidade de validar os dados de entrada foi passada para outro método chamado de checkProperties. Assim cada método tem somente uma responsábilidade e com isso ganhamos um melhor reaproveitamento de código, aos invés de realizar todo o procedimento em um só método.
Refatoração de código deve ser considerada uma boa prática pelos desenvolvedores, devemos refatorar sempre o nosso código escrito para uma boa legibilidade e também para não delongar de mais um método simples. Estima – se que cada método escrito deve ter no máximo quinze linhas de código ou mais ou menos perto disso, caso contratário o código escrito deve ser revisto e refatorado.
É claro que com o passar do tempo um programação bem estrutura pode ser de difícil leitura para quem não está acostumado mais o ganho de produtividade e organização alcançado realmente vale a pena.
 


segunda-feira, 12 de outubro de 2009

Seja Inteligente e não use Agile

Esse post no Imasters foi a coisa mais idiota que li na semana passada: http://imasters.uol.com.br/artigo/14565/desenvolvimento/seja_inteligente_e_nao_use_agile/

 

Lamentável…

Referências sobre Domain Driven Design

Ao invés de fazer como muita gente faz: reescrevendo as mesmas coisas que outros escrevem e falam em outros sites eu vou fazer um pouco diferente.

Há algum tempo eu tenho acompanhado algumas discussões, treinamentos e muito material bom sobre diversos assuntos, e como o titulo deste post diz eu vou deixar ai em baixo um monte de referencia sobre Domain Driven Design. O tema é excelente e na web tem cada vez mais material sobre o assunto. E o melhor DDD não se restringe dentro do desenvolvimento da sua arquitetura, linguagem ou plataforma, eu diria que é uma coleção de boas se não excelentes práticas para desenvolvimento de software. Bons estudos.

3º Reunião do .NET Architects - Domain Driven Design

 

PDF Gratuito sobre DDD (Domain Driven Design Quickly)

http://www.infoq.com/minibooks/domain-driven-design-quickly

Leitura Recomendada

Revista .NET Magazine:
Edição 57 - Artigo: Uma Introdução ao DDD
Edição 66 - Artigo: DDD com .NET

Domain-driven design: tackling complexity in the heart of software - Eric Evans

Sites Recomendados

http://domaindrivendesign.org/

http://www.fratech.net/comunidade

Att o próximo post

sábado, 3 de outubro de 2009

Renovação MVP 2009

Acaba se sair a lista de renovação dos MVP Microsoft. Uma das coisas que me deixou muito surpreso foi que o Fabio Hara deixou o título para seguir novos desafios em seus projetos. A lista pode ser acessada aqui com mais detalhes.

Att
Deivid Roger Oliveira Santos