Jump to content

Search the Community

Showing results for tags 'Design Pattern'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 2 results

  1. Olá! Estou tentando entender a real utilidade do design pattern builder. Tentei implementar, conforme a imagem e código abaixo. Não sei se está correta a implementação. Se não estiver, como eu deveria implementar?! class Product { public function Salvar() { echo 'Salvar'; } } interface Builder { public function buildPart(); } class ConcreteBuilder implements Builder { private $product; public function buildPart() { $this->product = new Product(); } public function getResult() : Product { return $this->product; } } class Director { public function construct(Builder $builder) { $builder->buildPart(); } } Para usar o padrão builder, conforme o código acima, eu faço o seguinte echo "\n\n"; $director = new Director(); $concreteBuilder = new ConcreteBuilder(); $director->construct($concreteBuilder); $product = $concreteBuilder->getResult(); $product->Salvar(); Mas, para que todo esses códigos, se eu poderia simplesmente ter o código abaixo que funcionara da mesma maneira?! $product22 = new Product(); $product22->Salvar(); Enfim... Qual utilidade real do Design Pattern Builder ?!?!
  2. Sou muito iniciante em Javascript e é por esse motivo que quero sua opinião à respeito de uma classe Usuário que desenvolvi só para testes. Primeiramente, uma classe Usuário padrão: var User = function(name, email) { var _name = name; var _email = email; this.getName = function() { return _name; }; this.getEmail = function() { return _email; }; this.setName = function(name) { _name = name; return this; }; this.setEmail = function(email) { _email = email; return this; }; }; /* Criando uma instância de User: */ var yan = new User('Yan Gabriel', 'yansilvagabriel@gmail.com'); /* Imprimindo Nome e Email: */ console.log('\nNome: ' + yan.getName() + '\nEmail: ' + yan.getEmail()); /* Mudando Nome e Email: */ yan.setName('Yan Machado').setEmail('yanmachado@gmail.com'); /* Imprimindo Nome e Email: */ console.log('\nNovo Nome: ' + yan.getName() + '\nNovo Email' + yan.getEmail()); Agora a classe Usuário modificada: var User = function(name, email) { var _information = { name: name, email: email }; var _get = { name: function() { return _information.name; }, email: function() { return _information.email; } } var _set = { name: function(name) { _information.name = name; return this; }, email: function(email) { _information.email = email; return this; } }; var _publics = { get: _get, set: _set }; return _publics; }; /* Criando uma instância de User: */ var yan = new User('Yan Gabriel', 'yansilvagabriel@gmail.com'); /* Imprimindo Nome e Email: */ console.log('\nNome: ' + yan.get.name() + '\nEmail: ' + yan.get.email()); /* Alterando Nome e Email: */ yan.set.name('Yan Machado').email('yanmachado@gmail.com'); /* Imprimindo Nome e Email: */ console.log('\nNome: ' + yan.get.name() + '\nEmail: ' + yan.get.email()); É evidente o maior número de linhas escritas, mas sua manutenção assim como a utilização de seus métodos parece mais fácil. Em contra partida creio que, criando objetos literais dentro de objetos literais, estou aumentando o processamento desnecessário dessas informações. O que vocês acham?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.