"Hei, Amigo! Jeg vil at du skal forstå formålet med OOP. Så jeg skal fortelle deg en historie."

En gang var det et lite selskap som fraktet varer til verdensrommet...

"Som Galactic Rush?"

"Ja, som Galactic Rush. 5 personer jobbet der. Den første håndterte økonomi, den andre jobbet på lageret, den tredje gjorde frakten, den fjerde hadde ansvaret for reklame, og den femte overvåket det hele."

De jobbet hardt og blomstret. Selskapet hadde et godt rykte og tjente mye penger. Hvert år økte antall bestillinger, så konsernsjefen måtte ansette flere ansatte. Flere til lageret, flere for frakten, en annen kasserer og en markedsfører for å øke salget.

Det var da problemene begynte. Det var mer personell, og de begynte å forstyrre hverandre .

Markedsføreren brukte alle pengene på en ny reklamekampanje, og etterlot ingen penger på hånden for å kjøpe varene som umiddelbart skulle sendes.

Lageret hadde 10 bokser med splitter nye hyperdrev som skulle sendes en gang i måneden. En kurer fløy av gårde med en hyperdrive, noe som førte til at en annen kundes ordre på 10 hyperdrives ble forsinket ytterligere en måned. Den første kureren visste rett og slett ikke om den andre bestillingen ble oppfylt av den andre kureren.

Den nye assisterende administrerende direktøren sendte en kurer på et skip for å kjøpe varer, og alt annet ventet på neste ledige skip. Det var nok av hasteleveranser, men denne assistenten klarte bare innkjøp og prøvde å gjøre jobben sin godt. Jo bedre en person utførte pliktene sine , jo mer blandet han seg inn i resten .

Ved å analysere situasjonen innså administrerende direktør at viktige ressurser som skipet, kontanter og varer ikke ble brukt optimalt, men snarere på "førstemann til mølla"-prinsippet. Hvem som helst kunne ta ressurser for å utføre arbeidet sitt, noe som truet produktiviteten til resten av de ansatte og selskapet.

Noe måtte gjøres. Konsernsjefen bestemte seg for å dele det monolittiske selskapet i flere avdelinger. Han opprettet en fraktavdeling, markedsavdeling, innkjøpsavdeling, økonomiavdeling og lageravdeling. Nå kunne ingen bare ta skipet. Sjefen for fraktavdelingen mottok all fraktinformasjon og utstedte skipet til budet hvis levering ville være mest lønnsomt for selskapet. I tillegg lot ikke lageret kurerer bare ta varene. De kontrollerte prosessen. Økonomiavdelingen kunne ikke bevilge penger til markedsføring, hvis den visste at det snart ville bli et kjøp. Hver avdeling hadde én offentlig person: avdelingslederen. Den interne strukturen til hver avdeling var dens egen bekymring.Hvis en kurer ville ta noen varer, ville han gå til lagersjefen, ikke til lageret. Når en ny ordre kom inn, gikk den til sjefen for fraktavdelingen ( offentlig person), ikke kureren ( privatperson ).

Med andre ord, konsernsjefen grupperte ressursene og handlingene i avdelinger , og forbød andre å blande seg inn i interne avdelingsstrukturer. Kun bestemte personer kunne kontaktes.

Når det gjelder OOP, er dette ikke noe annet enn å dele opp et program i objekter. Et monolitisk program, bestående av funksjoner og variabler, konverteres til et program bestående av objekter. Og disse objektene inneholder variabler og funksjoner.

"Vent litt. Så du sier at problemet var at hver ansatt hadde ubegrenset tilgang til ressurser og kunne gi kommandoer til enhver annen ansatt?"

"Ja nøyaktig."

"Interessant. Vi innførte en liten restriksjon, men vi fikk flere bestillinger. Og de klarte å holde bedre kontroll på alt."

"Ja. Del og hersk i sin reneste form."

"Akkurat som du sa, del og hersk. Det er noe å huske."