Persistência de Dados com IBatis ou NHibernate

Postado por Carlos Fernando Sylverio | Postado em Tecnologia | Postado em 16-02-2009

0

Em quase todo sistema que utiliza banco de dados para armazenar e recuperar informações, torna-se difícil o mapeamento das tabelas com os objetos utilizados pela aplicação, por diversos fatores como por exemplo:

  • O desenvolvedor perde muito tempo codificando classes e diversos métodos para preencher seus objetos.
  • Quanto mais o sistema cresce, mais complexo se torna o código para preencher os objetos utilizados pela aplicação.
  • O processo de preencher todos os objetos em cascata, muitas vezes torna lento o sistema, alem disso, podem acabar causando diversos erros por seus objetos estarem nulos, quando não são corretamente preenchidos.
  • Difícil manutenção e escalabilidade do sistema.

Para resolver esses problemas temos algumas aternativas, como a utilização de ferramentas de mapeamento objeto/relacional, como o iBatis e Hibernate.

A versão do Hibernate para .NET chama-se NHibernate.

Mas o que são essas ferramentas:

Ambos são framework escritos em Java e .NET (o iBatis também trabalha com Ruby/Rails), que trabalham com aplicações permitindo o acesso a banco de dados sem a necessidade de escrever uma linha de código JDBC ou ADO.NET, fazendo todo todo o acesso através de associações de querys SQL ou stored procedures a objetos por meio de um XML de mapeamento.

Com essas ferramentas podemos reduzir significativamente os problemas apresentados acima.

Mais adiante farei um post com exemplo de utilização do iBatis e hibernante.

Até mais :-P

Apresentando o JQuery

Postado por Carlos Fernando Sylverio | Postado em Programação, Tecnologia | Postado em 11-02-2009

1

Há um bom tempo tudo está convergindo para web, e com isso surgem coisas interessantes, é o caso de uma bibliotéca de JavaScript chamada JQuery.

Há um ano mais ou menos quando um amigo meu me apresentou fiquei impressionado com a facilidade de codificação, efeitos visuais e possibilidades de uso que essa biblioteca propociona para o desenvolvimento de aplicações Web e continuo me impressionando a cada nova versão.

As principais características do JQuery que se destacam são:

  • Robusto e eficiente mecanismo de acesso a partes da página (DOM).
  • Modifica a aparência da página.
  • Alteração do conteúdo da página.
  • Variedade de eventos para interação com os usuários.
  • Adição de efeitos visuais as páginas.
  • Implementação de Ajax de forma fácil.
  • Simplificação de tarefas comuns em JavaScript.

É uma biblioteca estável e já utilizada por diversas corporações. Em sua página Web é possível acessar sua documentação, especificações, plugins de interface, de forma muito estruturada.

Futuramente falerei mais sobre essa biblioteca e criarei alguns exemplos de sua utilização.

Até mais :-P

Expressão Regular

Postado por Carlos Fernando Sylverio | Postado em Programação, Tecnologia | Postado em 05-02-2009

0

Expressão Regular é um padrão de combinação de caracteres que é parte de diversas linguagens de programação modernas. Com a expressão regular podemos criar padrões para filtrar ou validar uma string de entrada através de uma expressão válida.

Alguns caracteres na expressão regular que têm funções especiais, e recebem o nome de metacaracteres, a combinação desses símbolos com caracteres literais da-se a criação de expressão.

Com a expressão regular é possível validar padrões de escrita como:

  • Número IP
  • E-mail
  • CPF

Para aprender a sintaxe utilizada na criação da expressão regular, segue uma versão on-line da obra de Expressões Regulares – Guia de Consulta Rápida.

OBSERVAÇÕES:

Em Java suporte a expressões regulares tem sido parte da plataforma Java desde a versão 1.4. e está contidas no pacote java.util.regex .

EM C# para utilizar expressões regulares, precisamos incluir o namespace System.Text.RegularExpressions .

Exemplo de expressão regulares com C#

Para testar a utilização de expressão regular, criei um projeto do tipo Console Application, e inclui o seguinte código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public static void Main(string[] args)
        {
            // expressões para filtrar as palavras a serem apresentadas
            // cria padrão para todas as palavras que contenham a expressão ATO
            string padrao1 = ".ato";
            // cria padrão para todas as palavras que contenham caracteres especias
            string padrao2 = ".\\?|.\\+|.\\!";
            // cria padrão para todas as palavras que contenham caracteres numéricos
            string padrao3 = "[0-9]";
 
            // cara lista para armazenar as palavras a serem filtradas
            List<string> paravras = new List<string>(10);
 
            paravras.Add("9pato");
            paravras.Add("rat3o");
            paravras.Add("mato");
            paravras.Add("gato");
            paravras.Add("te5to");
            paravras.Add("ramo");
            paravras.Add("duv6ida?");
            paravras.Add("soma+");
            paravras.Add("opa?");
            paravras.Add("que!");
 
            // Cria objetos que representa uma expressão regular
            Regex regex1 = new Regex(padrao1);
 
            Console.WriteLine("Busca de palavras com o padrão ATO");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                // verifica se palavra esta de acordo com o padrão
                // se for verdadeiro entra dentro do laço
                if (regex1.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
 
            // Cria objetos que representa uma expressão regular
            Regex regex2 = new Regex(padrao2);
 
            Console.WriteLine("");
            Console.WriteLine("Busca de palavras com caracteres especias");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                if (regex2.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
 
            // Cria objetos que representa uma expressão regular
            Regex regex3 = new Regex(padrao3);
 
            Console.WriteLine("");
            Console.WriteLine("Busca de palavras que contenham o caracteres numericos");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                if (regex3.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
        }

Até mais… :-P