"Olá, amigo! Quero que você entenda o propósito da POO. Então vou contar uma história para você."

Era uma vez uma pequena empresa que enviava mercadorias para o espaço sideral...

"Como Corrida Galáctica?"

"Sim, como Galactic Rush. Cinco pessoas trabalhavam lá. A primeira cuidava das finanças, a segunda trabalhava no depósito, a terceira fazia o transporte, a quarta era responsável pela publicidade e a quinta supervisionava tudo."

Eles trabalharam duro e floresceram. A empresa tinha uma boa reputação e ganhava muito dinheiro. A cada ano, o número de pedidos aumentava, então o CEO teve que contratar mais funcionários. Vários para o depósito, vários para fazer a remessa, outro caixa e um comerciante para aumentar as vendas.

Foi quando os problemas começaram. Havia mais pessoal e eles começaram a interferir um no outro .

O comerciante gastou todo o dinheiro em uma nova campanha publicitária, não deixando dinheiro disponível para comprar as mercadorias que deveriam ser enviadas com urgência.

O depósito tinha 10 caixas com hyperdrives novinhos em folha para serem despachadas uma vez por mês. Um mensageiro voou com um hiperdrive, fazendo com que o pedido de outro cliente de 10 hiperdrives atrasasse mais um mês. O primeiro correio simplesmente não sabia que o outro pedido estava sendo atendido pelo segundo correio.

O novo CEO assistente enviou um mensageiro em um navio para comprar mercadorias e todo o resto esperou pelo próximo navio disponível. Havia muitas entregas urgentes, mas esse ajudante só gerenciava as compras e tentava fazer bem o seu trabalho. Quanto melhor uma pessoa desempenhava suas funções, mais ela interferia nas demais .

Ao analisar a situação, o CEO percebeu que recursos importantes como o navio, o dinheiro e as mercadorias não estavam sendo gastos de maneira otimizada, mas na base do "primeiro a chegar, primeiro a ser servido". Qualquer pessoa pode tirar recursos para realizar seu trabalho, ameaçando a produtividade dos demais funcionários e da empresa.

Algo tinha que ser feito. O CEO decidiu dividir a empresa monolítica em vários departamentos. Ele criou um departamento de expedição, departamento de marketing, departamento de compras, departamento financeiro e departamento de armazenamento. Agora ninguém poderia simplesmente pegar o navio. O chefe do departamento de expedição recebia todas as informações de expedição e entregava o navio ao estafeta cuja entrega seria mais rentável para a empresa. Além disso, o armazém não permitia que os correios simplesmente levassem as mercadorias. Eles controlavam o processo. O departamento financeiro não poderia alocar dinheiro para marketing, se soubesse que haveria uma compra em breve. Cada departamento tinha uma figura pública: o chefe do departamento. A estrutura interna de cada departamento era uma preocupação sua.Se um mensageiro quisesse levar alguma mercadoria, ele iria ao gerente do depósito, não ao depósito. Quando chegava um novo pedido, ele ia para o chefe do departamento de expedição ( pessoa pública ), não para o correio ( pessoa privada ).

Em outras palavras, o CEO agrupou os recursos e ações em departamentos , e proibiu que outros interferissem nas estruturas internas dos departamentos. Somente pessoas específicas podem ser contatadas.

Em termos de OOP, isso nada mais é do que dividir um programa em objetos. Um programa monolítico, constituído por funções e variáveis, é convertido em um programa constituído por objetos. E esses objetos contêm variáveis ​​e funções.

"Espere um minuto. Então você está dizendo que o problema era que todo funcionário tinha acesso irrestrito aos recursos e podia dar ordens a qualquer outro funcionário?"

"Sim, exatamente."

"Interessante. Fizemos uma pequena restrição, mas recebemos mais pedidos. E eles conseguiram manter um controle melhor de tudo."

"Sim. Divida e conquiste em sua forma mais pura."

"Assim como você disse, divida e conquiste. Isso é algo para se lembrar."