Use extension to avoid utility class proliferation  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

Achei interessante...

http://www.javablackbelt.com/blog/2008/06/use-extension-to-avoid-utility-class.html

abraços.

http://palmadias.blogspot.com/
[WWW] [MSN]
TucaZ
Thread.start()
[Avatar]

Membro desde: 13/09/2003 02:26:09
Mensagens: 37
Offline

Conheço quase nada de Java e pelo que entendi do post do cara, para ter extension methods em Java é necessário copiar o código da classe base e adicionar comportamento a esse código novo, certo?

Em .NET, nessa última versão, a Microsoft acertou nesse ponto e agora podemos extender classes do framework sem essa necessidade de "duplicação". Acredito que esse seria um bom ponto pro pessoal da Sun se basear.

Exemplo de Extension Method em .NET:



Exemplo de utilização:



http://blog.tucaz.net
[Email] [WWW]
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

no seu exemplo MeuStringExtender vc não tá estendendo nada... apenas criou um nova classe.

http://palmadias.blogspot.com/
[WWW] [MSN]
TucaZ
Thread.start()
[Avatar]

Membro desde: 13/09/2003 02:26:09
Mensagens: 37
Offline

Estou extendendo sim! Repare na utilização que eu não chamo a classe MeuStringExtender, mas que chamo o método a partir de uma instância qualquer de uma string.

Na imagem anexo coloquei um print de como o Visual Studio entende um extension method.

Inclusive, através de Extension Methods é possível reproduzir um comportamento parecido com Duck Typing do RoR.

[Thumb - extension.JPG]
 Nome do arquivo extension.JPG [Disk] Download
 Descrição Extension Methods no VS2008
 Tamanho 6 Kbytes
 Baixado:  47 vez(es)


http://blog.tucaz.net
[Email] [WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team