CodeGym /Java Course /Module 2: Java-kern /Waarom hebben we OOP nodig?

Waarom hebben we OOP nodig?

Module 2: Java-kern
Niveau 1 , Les 2
Beschikbaar

"Hallo, Amigo! Ik wil dat je het doel van OOP begrijpt. Dus ik ga je een verhaal vertellen."

Er was eens een klein bedrijf dat goederen naar de ruimte verscheepte...

"Zoals Galactic Rush?"

"Ja, zoals Galactic Rush. Er werkten vijf mensen. De eerste deed de financiën, de tweede werkte in het magazijn, de derde deed de verzending, de vierde had de leiding over de reclame en de vijfde hield toezicht op alles."

Ze werkten hard en floreerden. Het bedrijf had een goede reputatie en verdiende veel geld. Elk jaar nam het aantal bestellingen toe, waardoor de CEO meer werknemers moest aannemen. Verschillende voor het magazijn, verschillende voor de verzending, nog een kassier en een marketeer om de verkoop te laten groeien.

Dit is toen de problemen begonnen. Er was meer personeel en ze begonnen zich met elkaar te bemoeien .

De marketeer besteedde al het geld aan een nieuwe reclamecampagne en liet geen contant geld achter om de goederen te kopen die dringend verzonden moesten worden.

Het magazijn had 10 dozen met gloednieuwe hyperdrives die eens per maand moesten worden verzonden. Eén koerier vloog weg met één hyperdrive, waardoor de bestelling van een andere klant voor 10 hyperdrives nog een maand vertraging opliep. De eerste koerier wist gewoon niet dat de andere bestelling door de tweede koerier werd uitgevoerd.

De nieuwe assistent-CEO stuurde een koerier op een schip om goederen te kopen, en al het andere wachtte op het volgende beschikbare schip. Er waren genoeg spoedleveringen, maar deze assistent deed alleen aankopen en probeerde zijn werk goed te doen. Hoe beter één persoon zijn taken vervulde, hoe meer hij zich met de rest bemoeide .

Bij het analyseren van de situatie realiseerde de CEO zich dat belangrijke middelen zoals het schip, contant geld en goederen niet optimaal werden besteed, maar op basis van "wie het eerst komt, het eerst maalt". Iedereen kan middelen gebruiken om zijn werk uit te voeren, waardoor de productiviteit van de rest van de werknemers en het bedrijf in gevaar komt.

Er moest iets gebeuren. De CEO besloot het monolithische bedrijf op te splitsen in verschillende afdelingen. Hij creëerde een verzendafdeling, een marketingafdeling, een inkoopafdeling, een financiële afdeling en een magazijnafdeling. Nu kon niemand zomaar het schip innemen. Het hoofd van de verzendafdeling ontving alle verzendinformatie en gaf het schip door aan de koerier wiens bezorging het meest winstgevend zou zijn voor het bedrijf. Bovendien liet het magazijn koeriers de goederen niet zomaar meenemen. Zij beheersten het proces. De financiële afdeling zou geen geld voor marketing kunnen toewijzen als ze wisten dat er binnenkort een aankoop zou plaatsvinden. Elke afdeling had één publieke figuur: het afdelingshoofd. De interne structuur van elke afdeling was zijn eigen zorg.Als een koerier wat goederen wilde meenemen, ging hij naar de magazijnbeheerder, niet naar het magazijn. Als er een nieuwe bestelling binnenkwam, ging deze naar het hoofd van de verzendafdeling ( publiek persoon), niet naar de koerier ( particulier ).

Met andere woorden, de CEO groepeerde de middelen en acties in afdelingen en verbood anderen zich te bemoeien met interne afdelingsstructuren. Alleen bepaalde personen konden worden gecontacteerd.

In termen van OOP is dit niets anders dan het opsplitsen van een programma in objecten. Een monolithisch programma, bestaande uit functies en variabelen, wordt omgezet in een programma bestaande uit objecten. En deze objecten bevatten variabelen en functies.

'Wacht even. U zegt dus dat het probleem was dat elke werknemer onbeperkt toegang had tot hulpbronnen en opdrachten kon geven aan elke andere werknemer?'

"Ja precies."

"Interessant. We hebben een kleine restrictie ingevoerd, maar we kregen meer opdrachten. En ze konden alles beter onder controle houden."

"Ja. Verdeel en heers in zijn puurste vorm."

'Net zoals je zei, verdeel en heers. Dat is iets om te onthouden.'

Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION