Categories:
Politica 
-

Loading ...
Posted on Monday, November 21, 2005 by cmilfont - Visita(s) - Visitante(s)
Só para não ficar sem postar nada devido a falta de tempo de preparar algo, posto aqui matéria da revista Primeira Leitura sobre o suposto neo-liberalismo brasileiro.
Avaliem esses números e me digam se existe neo-liberalismo no Brasil.
Neo-liberalismo Brasileira
A aversão do Brasil ao capital aparece em ranking do Bird, pais ocupa o 119º lugar em uma lista de 155 nações testadas sobre as facilidades para fazer negócios.
Classificação Geral
Brasil: 119º lugar
Abrir uma empresa
Brasil: 98º lugar
Lidar com licenças
Brasil:115º lugar
Contratar e demitir
Brasil:144º lugar
Registrar propriedades
Brasil:105º lugar
Conseguir Crédito
Brasil:80º lugar
Proteção a sócios minoritários
Brasil: 53º lugar
Pagar impostos
Brasil:140º lugar
Negociar com o exterior
Brasil:107º lugar
Garantir os contratos
Brasil:70º lugar
Fechar empresas
Brasil:141º lugar
Horas/ano que uma empresa gasta para preencher documentos e pagar tributos
Brasil—2.600
China——584
Argentina–580
México—–536
Chile——432
Índia——364
Austrália–107
Crescimento do PIB per capita (1994-2004)
Brasil—11,9
Rússia—36,6
Chile—-38,2
Coréia—49,7
Irlanda–92,6
China—110,5
Paises de renda alta:–20,8
Paises de renda média:-35,6
Paises de renda baixa:-37,6
Categories:
Design Patterns 
-

Loading ...
Posted on Tuesday, November 1, 2005 by cmilfont - Visita(s) - Visitante(s)
Uma dificuldade que tenho, e acredito que muitos tem, é de encontrar códigos simples implementados com conceitos de padrões de projeto de desenvolvimento de software, por isso postarei aqui toda semana um exemplo de como implementei algo nesse contexto, de forma que venha ajudar a quem está iniciando no aprendizado e para aqueles que já implementaram podendo contribuir com melhorias no conceito ou sugestões.
Não quero me alongar em histórico de design patterns ou forma técnica de demonstrar um pattern, explicando contexto, problema, solução, etc. Para isso aconselho aos livros clássicos sobre o assunto ou pesquisas em portais que tratam os patterns dessa forma. Vou direto para a dica de implementação com apenas um pequeno descritivo da necessidade de tal padrão.
Necessidade
Para esse artigo inicial vou demonstrar como solucionei uma necessidade de paginação de forma reaproveitavél utilizando os fundamentos da programação orientada a objetos.
O exemplo está utilizando JAVA como linguagem mas pode muito bem ser utilizada em outras linguagens orientadas a objetos.
Padrões
Para solucionar essa necessidade utilizei o Pattern Iterator e o Template Method.
Implementação
Primeiro criei uma Interface onde defini quais métodos seriam implentados para essa necessidade.
Código…

Classe de Exception auxiliar…

Então criei uma classe Abstrata que implementa métodos comuns a todas as classes concretas que venham a extendê-la. Um detalhe é que utilizei o conceito de Template Method e deixei alguns métodos a serem implamentados na classe concreta, dessa forma controlo o funcionamento interno de navegação da paginação e deixo aberto para extensão de especificidades da aplicação do programador.
Códigos da classe abstrata…





Observe que não implementei os métodos:
public String getCmd();
public void setCmd(String cmd);
public Collection getGrid();
deixando a cargo do programador implementá-los.
Não pretendo me ater sobre as funcionalidades de cada método, devo apenas ressaltar que o inteiro cache é relativo ao número de elementos da lista por página.
Utilização
Vejamos como utilizar essa estrutura:
Vamos criar uma classe que seja uma lista de objetos a serem percorridos na paginação.
Essa classe terá que implementar nossa Interface e estender a classe abstrata.
Código da classe…

Vejam que tive que implementar os métodos que a classe abstrata não fez por conta da obrigatoriedade que a Interface causa por implementá-la. Criei um construtor que recebe uma lista de valores e o número de elementos que aparecem em cada página.
Voce instancia em seu controle da seguinte forma:

Esse código é apenas um exemplo de como utilizar a estrutura, existem mais possibilidades.
Na página jsp eu poderia acessá-lo da seguinte forma:

Utilizo uma variação na criação do Manipulador (Handler), usando uma fábrica para encontrar a classe exata.
Exemplo…
ValueListIterator equipeHandler = ListFactory.getListIterator(”Equipe”);
equipeHandler.setTamanhoCache(10);
equipeHandler.setList(…);
Depois testo se o objeto já está instanciado e se estiver seto o comando especifico.
equipeHandler.setCmd(acao);
Código da Fabrica…

Espero não ter complicado por falta de explicações maiores, mas eu queria somente demonstrar como utilizei determinados Padrões na resolução de uma necessidade específica.
Referências
http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
http://java.sun.com/blueprints/corej2eepatterns/Patterns/ValueListHandler.html
http://www.corej2eepatterns.com/catalog.htm
http://www.corej2eepatterns.com/Patterns2ndEd/ValueListHandler.htm
http://www.javamagazine.com.br/edicoes/jm21/index.jsp
http://www.javamagazine.com.br/edicoes/jm20/index.jsp
Excelente, de onde retirei grande parte do conceito.
http://www.mundooo.com.br/php/modules.php?name=News&file=article&sid=512
Download do código do artigo
http://www.amigos-list.org/~cmilfont/source/src_pattern_1.zip