Skip to content

Instantly share code, notes, and snippets.

View AlexGalhardo's full-sized avatar
👨‍💻
Always Building, Always Learning

Alex Galhardo AlexGalhardo

👨‍💻
Always Building, Always Learning
View GitHub Profile
@AlexGalhardo
AlexGalhardo / SocialShareFacebook
Created December 8, 2018 13:32 — forked from vermasachin/SocialShareFacebook
Social Share Facebook
http://www.facebook.com/share.php?u=<?php print(urlencode(get_permalink())); ?>&title=<?php print(urlencode(the_title())); ?>
  • OCP (Open/Closed Principle) é o segundo princípio do SOLID, e diz que uma classe deve ser aberta para extensão e fechada para modificação.
  • Mas o que isso significa ? Simples, você a sua classe deve ser projetada de modo que não haja necessidade de fazer alterações no seu código cada vez que um novo comportamento for necessário, e como fazer isso? Separando todo o comportamento mutável da sua classes e manter nela somente aquilo que nunca mudará.
  • O Problema
  • Vejamos com exemplo a classe Funcionário, esse classe tem um método que calcula o salário do funcionário baseado no seu cargo e sua comissão.
class Funcionario{
    
  • O Princípio da Substituição de Liskov é o terceiro princípio, e representa a letra ‘L’ do SOLID.
  • Esse método mais do que qualquer outro nos diz: Programe para a interface e não para sua implementação!
  • Teoria
    • Esse princípio tem esse nome pois foi proposto por Barbara Liskov em um de sues artigos em 1988.
    • A teoria diz : “Dado um Tipo T, todos os seus subtipos S podem ser usados como seus substitutos sem que haja impactos no sistema.”
    • Ou seja, caso você possum uma classe qualquer, você pode substituir suas chamadas por chamadas de quaisquer classes que herdem dela.
    • Mas qual a utilidade disso? Isso evita que haja muita desordem nas relações de herança em todo o sistema.
  • Exemplo Simples de violação da Substituição de Liskov
  • O Princípio da Segregação de Interfaces é o quarto princípio SOLID, e corresponde a letra “I”.
  • Definição
  • Este princípio nos diz que uma classe consumidora não deve conhecer (depender) métodos que não necessitam.
  • Para ter uma classe coesa e reutilizável, devemos atribuir a ela uma única responsabilidade . Mas as vezes, mesmo essa única responsabilidade pode ser quebrada em responsabilidades menores ainda, tornando sua interface mais amigável.
  • Violando o Princípio da Segregação de Interfaces
  • O princípio da Inversão de Dependências é o último dos Princípios SOLID e corresponde a letra “I”.

  • Definição

    • Este princípio trata de uma maneira específica para desacoplar as dependências entre os objetos, modificando a maneira tradicional como estabelecemos as dependências entre nossos objetos.
  • Sua definição formal é :

  • Componentes de mais alto nível não devem depender de componentes de níveis mais baixos, mas ambos devem depender de abstrações.

  • Abstrações não devem depender de implementações, mas as implementações devem depender de abstrações.

Cabeçalhos

Título 2

Título 3

Título 4

Título 5
  • Este padrão permite a criação de famílias de objetos relacionados ou dependentes por meio de uma única interface e sem que a classe concreta seja especificada.
  • Uma fábrica é a localização de uma classe concreta no código em que objetos são construídos .
  • O objetivo em empregar o padrão é isolar a criação de objetos de seu uso e criar famílias de objetos relacionados sem ter que depender de suas classes concretas.
  • Isto permite novos tipos derivados de ser introduzidas sem qualquer alteração ao código que usa a classe base .
  • O uso deste padrão torna possível trocar implementações concretas sem alterar o código que estas usam, mesmo em tempo de execução.
  • No entanto, o emprego deste padrão, como acontece com outros padrões semelhantes, pode resultar em uma complexidade desnecessária e trabalho extra no início do código.
  • Além disso, os níveis mais elevados de abstração podem resultar em sistemas que são mais difíceis de manter.
  • A essência do padrão Abstract Factory é fornecer uma interface par
  • o padrão Adapter converte a interface de uma classe para outra interface que o cliente espera encontrar,
  • "traduzindo" solicitações do formato requerido pelo usuário para o formato compatível com o a classe adaptee e as redirecionando.
  • Dessa forma, o Adaptador permite que classes com interfaces incompatíveis trabalhem juntas.
  • O padrão Adapter pode ser utilizado quando:
    • se deseja utilizar uma classe existente, porém sua interface não corresponde à interface que se necessita;
    • o desenvolvedor quiser criar classes reutilizáveis que cooperem com classes não-relacionadas ou não-previstas, ou seja, classes que não possuem necessariamente interfaces compatíveis;
    • (exclusivamente para adaptadores de objetos) é necessário utilizar muitas subclasses existentes, porém, impossível de adaptar essas interfaces criando subclasses para cada uma. Um adaptador de objeto pode adaptar a interface de sua classe mãe.
<?php
- Marketing 
   - e o conjunto de técnicas e processos que definem as relações entre a sua empresa e o restante do mercado, usando os 4P's: Preço, Praça, Produto e Promoção.
   - Publicidade == é um dos instrumentos que o marketing utiliza na criação das suas estratégias. É o ato de propagar uma mensagem atendendo aos diversos objetivos de marketing.
   - Uma publicidade pode ter a finalidade de vender um produto, divulgar uma ideia ou atrair mais visibilidade para a marca, por exemplo.
- SEO  
    - Search Engine Optmization == Provavelmente a coisa mais importante do marketing digital. Todos que trabalham com web devem ser especialistas nesta sigla :D
- SERP 
    - Search Engine Result Page == resultados das páginas de busca.
  • ROI
    • Return Of Investment

Permissão Binário Octal --- 000 0 --x 001 1 -w- 010 2 -wx 011 3 r-- 100 4 r-x 101 5 rw- 110 6 rwx 111 7