Saturday, February 10, 2007 7:26 AM

A internet é uma fonte abundante de conteúdo para todas as áreas, mas certamente o desenvolvimento de software é um tema de destaque. 

É possível achar artigos sobre praticamente qualquer assunto técnico imaginável. O problema é que nem sempre o conteúdo é de qualidade e temos que tomar cuidado com isto.

Outro dia, em minha zapeada diária nos meus sites preferidos, me chamou atenção uma chamada no theserverside.net com um título convidativo: Back to Basics: The perfect .NET Bean property. Entrei no site deste rapaz e imprimi seu artigo.

Alegando que não era possível definir protection modifiers distintos para o get e o set de uma propriedade em C#, o autor sugeria que nós adotássemos o estilo Java, implementando o par Get/Set em dois métodos para cada variável, SetName e GetName, por exemplo. Desta forma seria possível deixar o get público e set protected, para ser utilizado apenas internamente na classe.

Gastei meu tempo à toa para descobrir que o autor não era muito experiente em .Net e era mais versado em Java. Até ai tudo bem, o problema é que ele resolveu escrever um artigo sobre o assunto, propondo inclusive um novo design pattern para os desenvolvedores .net.

Resultado: Os leitores do site baixaram o pau no cara, o pessoal do site pediu desculpas, mas alegou que o site é aberto para qq um postar notícias e que o próprio autor tinha divulgado seu aritgo.

Portanto abram o olho, nem tudo que reluz na internet é ouro...

PS: É possível definir protection modifiers distintos para o Get ou Set de uma propriedade .Net. Desta forma alcançamos o objetivo do rapaz, que era esconder o set de uma propriedade, sem precisar "javalisar" nosso código:

public class User
{
    private string _name;

    public string Name
    {
        get { return _name; }
        protected set { _name = value; }
    }
}

Comments

At 5/6/2008 8:35 AM, Rafael Riso said:

# re: Nem tudo que reluz é ouro...

Olá. Gostaria de saber um exemplo de utilização do set protegido.

Muito Obrigado.
Post Comment
Title *
Name *
Email (never displayed)
Website
Comment * (Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code)  
Please add 7 and 3 and type the answer here: