/NoTechApp-MPS

Projeto para a disciplina de MPS.

Primary LanguageJava

!ifake

Esse projeto foi desenvolvido como projeto final da disciplina de Métodos de Projeto de Software, ministrada pelo professor Raoni Kulesza, no período de 2017.2.

A aplicação trata-se de um sistema de identificação de Fake News, tendo como foco principal mostrar as notícias falsas espalhadas pela internet e identificar quais notícias são falsas.

Branches

Na branch Master, localiza-se o código do desenvolvimento inicial do projeto, antes das alterações no escopo do projeto, requeridas pelo professor. A versão completa encontra-se na branch Notech.

Design Patterns Utilizados

  • Adapter
  • Command
  • DAO (Data Access Object)
  • Facade
  • Memento
  • Singleton
  • Template Method

Implementação de Design Patterns

Nesta seção, será descrito como cada padrão de projeto foi aplicado no desenvolvimento dessa aplicação.

Adapter

Converte a interface de uma classe em outra interface com a qual os clientes estão prontos para lidar. Permite que interfaces incompatíveis trabalhem em conjunto – o que, de outra forma, seria impossível. O padrão Adapter foi utilizado para conexões com serviços externos.

Command

Encapsula um pedido num objeto, desta forma permitindo parametrizar cliente com diferentes solicitações, enfileirar ou fazer o registro de solicitações e suportar operações que podem ser desfeitas.

DAO (Data Access Object)

O padrão DAO é um padrão para persistência de dados que permite separar regras de negócio das regras de acesso a banco de dados.

Facade

Fornece uma interface unificada para um conjunto de interfaces em um subsistema.

Memento

Sem violar o encapsulamento, capturar e externalizar um estado interno de um objeto, de maneira que o objeto possa ser restaurado para esse estado mais tarde.

Singleton

Garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para a mesma.

Template Method

Define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses.

Desenvolvimento

Autores

  • Alef Berg da Silva - Github
  • Ednaldo Martins da Silva - Github
  • Bianca Karla Amorim de Sousa Melo - Github

O que foi aprendido

  • Implementação de padrões de projeto de forma a melhorar o desempenho da aplicação.
  • Desenvolvimento de trabalho em equipe.