Artigos Rem soft Sistemas

Design Patterns na Prática – Parte II: Abstract Factory

 
 
Continuando a nossa série, apresento-lhes mais um padrão de projeto criacional: Abstract Factory.
 
Temos a seguinte situação:
Um banco possui dois tipos de contas:
  • Corrente
  • Poupança
Cada uma delas pode ser categorizada como:
  • Simples
  • Normal
  • Plus
Cada uma dessas características possuem as suas vantagens particulares. Como aplicar um padrão de projeto criacional nesses objetos de maneira a ter-se menos impacto ao inserir-se um tipo de conta nova ou mais características das contas?
 
 
 
Resposta:  Abstract Factory!
 
 
 
 
 
 Temos então 3 tipos de fábrica de contas poupança ou corrente de acordo com o tipo necessário, são elas: TipoSimples, TipoNormal e TipoPlus. Todas essas fábricas concretas são representadas pela Fábrica Abstrata TipoConta, que é quem define os métodos de criação, ou seja, qualquer que seja a nova fábrica a ser criada para contas, ela deve ser capaz de criar os novos tipos de conta de acordo com o proposto por essa abstração. Assim definimos o processo de criaçõ totalmente flexível: não precisamos mudar nenhum código existente para criarmos mais um tipo de conta!
 
 
Concluindo, apresento-lhes a ficha resumida deste padrão:  
 
Objetivo:
  • Fornecer uma interface a ser utilizada para criar famílias de objetos relacionados ou dependentes sem realmente especificar suas classes concretas.
 
Benefícios:
 
  • Isola o cliente das classes concretas(da implementação). Facilita a troca de famílias de objetos;
  • Promove a consistência entre objetos.
 
Aplicabilidade:
 
    • O sistema precisa ser independente da maneira como seus objetos são criados, compostos e representados;
    • O sistema precisa ser configurado com um objeto de uma família de vários objetos;
    • A família de objetos relacionados é concebida para ser utilizada em conjunto e essa restrição precisa ser imposta;
    • Deseja-se fornecer uma biblioteca de objetos que não mostre as implementações e somente revele as interfaces.
Então é isto galera! Qualquer dúvida, é só deixar o seu comentário que tentarei ajudar o mais rápido possível! 😉
 
Um abraço a todos e até o próximo post!
 
 
.
 
  • REM SOFT é uma abreviação de REMOTE SOFTWARE, pois somos especialistas em prover soluções digitais com larga experiência no trabalho remoto. Pensamos sempre “fora da caixa” quando se trata de inovação. Nossa equipe é apaixonada por tecnologia e atendimento diferenciado aos clientes. Nossas equipes são organizadas em Squads multidisciplinares e temos o HOME OFFICE no nosso DNA.

Escrito por:

Está gostando do conteúdo? Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos Recentes

Wegic: A Inteligência Artificial que Transforma Negócios

Introdução: O uso da inteligência artificial deixou de ser tendência e passou a ser realidade em empresas de todos os setores. Cada vez mais, soluções inovadoras surgem para otimizar processos, aumentar a produtividade e gerar insights estratégicos. Entre essas soluções, a Wegic se destaca como uma ferramenta de IA prática,

Leia Mais »

Krayin CRM: Gestão de Relacionamento que Impulsiona Vendas

O que é Krayin CRM? Krayin CRM é uma plataforma de gestão de relacionamento com o cliente de código aberto, projetada para otimizar processos de vendas e impulsionar o crescimento do seu negócio. Código Aberto & Gratuito Construído sobre o robusto framework Laravel, oferece a liberdade e a flexibilidade de

Leia Mais »

Descentralização de Aplicações: Entendendo o papel das DApps

Aplicações descentralizadas, conhecidas como DApps (Decentralized Applications), vêm sendo impulsionadas principalmente pela hype na tecnologia blockchain. Ao contrário das aplicações tradicionais, onde o controle centralizado é um ponto vulnerável, as DApps operam sobre uma rede descentralizada como o próprio nome já diz , garantindo maior segurança, transparência e resiliência contra

Leia Mais »

Foco no Cliente

Foco no Cliente em Empresas de Tecnologia: Por que essa mentalidade é essencial? O foco no cliente é essencial para empresas de tecnologia porque, em um mercado cada vez mais competitivo e dinâmico, não basta oferecer produtos inovadores, é necessário criar soluções que atendam às reais necessidades dos usuários, gerem

Leia Mais »

Sobre o Autor

Mais sobre tecnologia

Gostou do Artigo?