TCM

TCM

  • Sprints
  • Base
  • Modelagem
  • Padrões de Projeto
  • Arquitetura e Reutilização

›GOFs

Sprints

  • Sprint 1
  • Sprint 2
  • Sprint 3
  • Sprint 4
  • Sprint 5
  • Sprint 6
  • Sprint 7
  • Sprint 8
  • Sprint 9

Base

    Planos

    • Gerenciamento do cronograma do projeto
    • Plano de gerenciamento de custos
    • Plano de gerenciamento de riscos

    Pré-Rastreabilidade

    • Rich Picture
    • 5W2H
    • Mapas Mentais
    • Documento de Visão
    • Diagrama de Causa e Efeito

    Elicitação

    • Brainstorm
    • Entrevista
    • Personas
    • Observação

    Metodologia

    • Metodologia

    Modelagem

    • Protótipo

Modelagem

    Diagramas UML

    • Diagrama de Atividades
    • Diagrama de Classes
    • Diagrama de Componentes
    • Diagrama de Comunicação
    • Diagrama de Estados
    • Diagrama de Pacotes
    • Diagrama de Sequência

    Extras

    • Léxico
    • Plano de GCS
    • NFR Framework
    • Diagrama da metodologia
    • Backlog

Padrões de Projeto

    GOFs

    • GOFS Comportamentais
    • GOFs Criacionais
    • GOFS Estruturais

    Grasp

    • GRASP

    Extra

    • Extras
    • Guia de estilo

Aquitetura de software e reutilização

  • Documento de Arquitetura
  • Reutilização de Software

GOFs Criacionais

Introdução

Os padrões de criação fornece vários mecanismos de criação de objetos, delegando a instanciação para outro objeto, que aumentam a flexibilidade, independência do sistema e reutilização de código já existente.

Metodologia

A partir do estudo da equipe sobre os padrões criacionais e feedback das avaliações, a equipe analisou os diagramas identificando problemas onde os padrões poderiam ser aplicados.

Padrões

Versão 1.0

Factory Method

O Factory Method (Método fábrica, Construtor virtual) é um padrão criacional de projeto que fornece uma interface para criar objetos em uma superclasse, mas permite que as subclasses alterem o tipo de objetos que serão criados.

padrão imagem

Motivação

O sistema inicialmente estava projetado para torneios apenas do tipo playoffs, dificultado adições de novos tipos de torneios como o de barragem. Foi usado o padrão Factory Method para flexibilizar o sistema, sendo possível atualizações futuras sem grandes mudanças na base de código.

Aplicação no projeto

 Método fábrica, Construtor virtual

Na implementação do backend utilizamos o factory method na implementação de nossos serviços.

Inicialmente foi implementada uma interface onde todos os serviços passaram a seguir esse protocolo.

protocolo de serviço

Os serviços concretos foram criados a partir da implementação do protocolo de serviço.

Exemplo do serviço de playoffs:

serviço concreto

A fábrica de serviços foi implementada com o método factoryMethod que pode ser sobrescrito pelas suas subclasses que serão os criadores concretos dos serviços:

fábrica de serviços

Os criadores concretos dos serviços estendem da fábrica de serviços e sobrescrevem o método factory Method retornando uma nova instância de um serviço concreto:

criadores concretos

Singleton

O padrão de projeto criacional permite garantir que uma classe tenha apenas uma instância

singleton imagem

Motivação

Para a utilização do banco de dados é necessário criar uma conexão, onde a partir desta conexão toda a aplicação passa a ter acesso a essa única instância.

Aplicação no projeto

 sigleton

Conclusão

Após a implementação dos padrões criacionais foi possível notar uma flexibilização do sistema, para possíveis expansões e manutenções futuras sem grandes impactos ao sistema.

Referências

[1] PADRÕES de PROJETO. Disponível em: https://refactoring.guru/pt-br/design-patterns

[2] GAMMA, Erich et al. Design Patterns: Elements of Reusable Object-Oriented Software. 1. ed. Massachusetts: Addison-Wesley Professional, 2009. 426 p. ISBN 0-201-63361-2.

Autor(es)

DataVersãoDescriçãoAutor(es)
18/10/201.0Criação do documentoJoão Pedro e Moacir Mascarenha
18/10/201.1Adicionado Padrão Factory MethodJoão Pedro, Matheus Estanislau, Moacir Mascarenha
19/10/201.2Atualizada imagem do padrão Factory MethodRenan Cristyan
25/10/201.3Adicionado padrão singletonMoacir Mascarenha
26/10/201.4Adicionado implementação do factory methodMatheus Estanislau
26/10/201.5Correções no documentoJoão Pedro, Lucas Alexandre, Matheus Estanislau, Renan Cristyan
← GOFS ComportamentaisGOFS Estruturais →
  • Introdução
  • Metodologia
  • Padrões
    • Versão 1.0
    • Factory Method
    • Singleton
  • Conclusão
  • Referências
  • Autor(es)

Tennis Cup Limited