Code Monkey home page Code Monkey logo

singleton-projeto's Introduction

TRABALHO FINAL

Descrição

O Singleton é um padrão de projeto criacional que permite a você garantir que uma classe tenha apenas uma instância, enquanto provê um ponto de acesso global para essa instância.

Onde é recomendada a utilização de Singleton ?

Singleton deve ser utilizado com cautela, pois nem sempre é útil ter apenas uma instância de uma classe sendo compartilhada por toda a aplicação.

Recomendo utilizar o Singleton:

  1. Quando você precisar controlar a concorrência de acesso a recursos compartilhados;

  2. Quando uma classe for utilizada com frequência por várias partes distintas do sistema, e essa classe não gerencia nenhum estado da aplicação;

Singleton - Padrão de Projeto

O padrão de projeto singleton tem como definição garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso a mesma. Para isso, singleton implementa uma operação chamada de Instance que tem como premissa permitir que seus clientes acessem sua única instância, além de ser capaz de criar sua própria instância única.

Vantagens e perigos ao implementar Singleton

Benefícios

  1. Acesso controlado à instância única.

  2. Espaço de nomes reduzido.

  3. Permite um refinamento de operações e da representação.

  4. Permite um número variável de instâncias.

  5. Mais flexível do que operações de classes.

Perigos ao implementar singleton de maneira incorreta

  1. Estado global.

  2. Utilização de singleton desnecessários.

  3. Anti-padrões para muitos programadores.

  4. Reversão difícil.

  5. Mais complexidades nos testes.

  6. Pode ser facilmente quebrado.

Conclusão

O padrão singleton e alcançar seus benefícios para o desenvolvimento de um código limpo e seguro. Singleton pode ser implementado de várias formas.Porém, sua utilização exige cuidados e responsabilidades para utilizá-lo de forma correta e coerente.

Link da gravação do projeto https://drive.google.com/file/d/15HtIvLRBa7uOqv6a9gKdMm-ZmZWDK864/view?usp=sharing

singleton-projeto's People

Contributors

jeansanto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.