Fotografia de Mike Petrucci

O Princípio da Segregação de Interfaces é a quarta boa prática de programação que forma o SOLID. A recomendação diz que:

Esses clientes não são os seres humanos que utilizam o software final, mas sim os algoritmos…


Por Jessie Young.

Foto obtida no Gratisography

A primeira vez em que ouvi Sandi Metz falando foi em um meetup em San Francisco em 2012. …


Imagem de https://twitter.com/DMTourPHPBrasil

O SC Dev Summit foi um seminário sobre desenvolvimento de software que ocorreu em Joinville, Santa Catarina, nos dias 20 e 21 de maio de 2016. Ele foi dividido em duas partes: o dia do back-end e o dia do front-end. …


Utilizando objetos mais significativos para representar a ausência de valor.

O Null Pattern, também conhecido como Active Nothing, é um padrão onde criamos classes para representar a ausência de valor, ou seja, utilizamos objetos ao invés de null.

Antes de discutirmos esse padrão, precisamos entender o que há de errado com passar e retornar null em nossos códigos.

Qual é o problema do null?

Toda vez…


Uma explicação simples sobre o uso de interfaces na linguagem de programação PHP.

As interfaces são utilizadas quando você precisa ter certeza de que um objeto responde a determinados métodos, independente de que tipo ele seja.

Elas funcionam como uma espécie de contrato: você cria uma interface com o esqueleto dos métodos que serão obrigatórios, então qualquer classe que implemente essa interface será…


Dicas de organização para programadores back-end que não manjam muito de front-end.

Eu não sou um programador de front-end, mas acompanhei a área por algum tempo e vejo meus colegas cometendo erros básicos que tornam um inferno a manutenção de um sistema. Falarei sobre alguns dos problemas mais recorrentes que vejo nas views dos projetos.

Nós nos preocupamos muito em seguir as…


Fast and compiled games written in a Ruby-like syntax, with all the great libraries C has to offer.

One of the things that always set me apart from game development was the complexity of most compiled languages. C, C++, C#, they all seem to be the most used programming languages in enterprise game development, but they are too verbose and complex compared to scripting languages I use daily.


Garantindo que instâncias de uma classe possam ser substituídas por instâncias de sub-classes sem quebrar o sistema.

Esse artigo continua a série sobre os cinco princípios do SOLID aplicados ao PHP. Agora veremos o terceiro deles, que é chamado de “Princípio da Substituição de Liskov”.

Esse conceito foi criado em 1974 por Barbara Liskov, que o definiu como:

Se para cada objeto O1 do tipo S existe…


Como manter classes abertas para extensão e fechadas para modificação.

No artigo anterior vimos que uma classe só deveria ter uma única responsabilidade ou um único motivo para mudar. Hoje veremos a segunda recomendação do SOLID, chamada de “Princípio do Aberto/Fechado”.

Uncle Bob pegou esse conceito emprestado de Bertrand Meyer, que o define da seguinte maneira:


O primeiro dos cinco princípios que compõe o SOLID, um conjunto de boas práticas de design orientado a objetos de Robert Martin (Uncle Bob).

Segundo Bob, isso significa que uma classe só deveria ter um eixo de mudança. “Motivo para mudar”, “eixo de mudança”, esses termos não ajudam muito, não é?

Existe uma maneira mais fácil de pensar nisso: apenas leia a…

Alan Willms

Software development nerd. In 💙 with Ruby, PHP, JavaScript, Crystal, and other techy stuff.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store