Padroes_de_projetos

23 Padrões de Projetos de Software para resolver seus problemas

 

PADRÕES DE PROJETOS GoF

Olá, padrões de projeto ajudam o desenvolvedor a resolver problemas no meu caso criei uma colinha pra sempre que tiver um “problema” recorrer a ele para relembrar quem pode me ajudar. Segue abaixo:

O que são Padrões de Projetos?

São procedimentos/códigos que foram padronizados para resolver problemas que são comuns em vários projetos.

GoF = Gang of Four

Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides integrantes da “Gangue dos Quatro” (Gang of Four) publicaram em 1995 o livro Design Patterns: Elements of Reusable Object-Oriented Software.

 

Padrões Criacionais: Gerenciam a criação de instâncias de objetos. Todos os padrões fornecem alguma maneira de desconectar o cliente dos objetos a partir dos quais serão geradas instâncias;

  • Singleton
  • Abstract Factory
  • Builder
  • Prototype
  • Factory Method

 

Padrões Estruturais: permitem que você organize classes ou objetos em estruturas maiores;

  • Decorator
  • Proxy
  • FlyWeight
  • Facade
  • Composite
  • Bridge
  • Adapter

 

Padrões Comportamentais: preocupam-se com a forma como as classes e objetos interagem e com a distribuição de responsabilidades.

  • Template Method
  • Visitor
  • Command
  • Strategy
  • Chair of Responsability
  • Iterator
  • Mediator
  • Memento
  • Interpreter
  • State
  • Observer

Continue lendo “23 Padrões de Projetos de Software para resolver seus problemas”

Paramentros

Criando parâmetros para o sistema usando Padrão Singleton e Iterator

 

Muitas vezes precisamos criar parâmetros para o sistema e devido no início do desenvolvimento do sistema esses parâmetros serem poucos, cometemos algumas “gafes”, se assim posso dizer, ao criar esses parâmetros. Veja como podemos resolver usando padrões de projetos Singleton e Iterator.

O Cenário

O sistema possui uma tabela que armazena os dados do que o usuário pode ou não fazer no sistema e todo ponto onde existe uma opção parametrizável para funcionamento é necessário acessar essa tabela no banco para verificar se pode ou não fazer determinada operação.

O Problema

A tabela passou a ter mais de 400 campos, pois cada campo é um parâmetro, chegando ao ponto de ter que ser criado uma nova tabela para criação de novos parâmetros e essa tabela toda vez que fosse acessada, havia uma lentidão(as vezes quase imperceptível, mas existia). Sem falar no fato que acessar o banco toda vez para checar um parâmetro que não irá mudar durante a execução do sistema é uma operação desnecessária.

A Solução

Criar uma classe de parâmetros usando o padrão singleton e na primeira vez que fosse executada armazenasse todos os parâmetros(a lentidão existiria somente no primeiro acesso a classe)  executando o padrão iterator para criar e gerenciar a lista dos parâmetros, assim as próximas vezes que fosse necessário verificar se é permitido realizar alguma operação, que é parametrizada, não acessaria o banco de dados e o retorno seria muito mais rápido.

O Código

Foi criado um exemplo para testar a teoria antes de implementar no sistema, nele temos um exemplo de adicionar parâmetros no código do botão:

Continue lendo “Criando parâmetros para o sistema usando Padrão Singleton e Iterator”