"Hello, Amigo! Saya nak awak faham tujuan OOP. Jadi saya nak cerita."

Pernah ada sebuah syarikat kecil yang menghantar barangan ke angkasa lepas…

"Seperti Galactic Rush?"

"Ya, seperti Galactic Rush. 5 orang bekerja di sana. Yang pertama mengendalikan kewangan, yang kedua bekerja di gudang, yang ketiga melakukan penghantaran, yang keempat bertanggungjawab dalam pengiklanan, dan yang kelima menyelia semuanya."

Mereka bekerja keras dan berkembang. Syarikat itu mempunyai reputasi yang baik dan memperoleh banyak wang. Setiap tahun bilangan tempahan meningkat, jadi CEO terpaksa mengambil lebih ramai pekerja. Beberapa untuk gudang, beberapa untuk melakukan penghantaran, seorang juruwang lain, dan seorang pemasar untuk mengembangkan jualan.

Ketika inilah masalah bermula. Terdapat lebih ramai kakitangan, dan mereka mula mengganggu satu sama lain .

Pemasar membelanjakan semua wang untuk kempen pengiklanan baharu, tanpa meninggalkan wang tunai di tangan untuk membeli barangan yang sepatutnya dihantar segera.

Gudang itu mempunyai 10 kotak dengan pemacu hiper serba baharu untuk dihantar sebulan sekali. Satu kurier terbang dengan satu hyperdrive, menyebabkan pesanan pelanggan lain untuk 10 hyperdrive tertunda sebulan lagi. Kurier pertama langsung tidak tahu tentang pesanan lain yang dipenuhi oleh kurier kedua.

Penolong CEO baharu menghantar kurier di atas kapal untuk membeli barangan, dan segala-galanya menunggu kapal yang tersedia seterusnya. Terdapat banyak penghantaran segera, tetapi pembantu ini hanya menguruskan pembelian dan cuba menjalankan tugasnya dengan baik. Lebih baik seseorang melaksanakan tugasnya , lebih banyak dia mengganggu yang lain .

Dalam menganalisis keadaan, Ketua Pegawai Eksekutif menyedari bahawa sumber penting seperti kapal, wang tunai dan barangan tidak dibelanjakan secara optimum, sebaliknya berdasarkan "siapa cepat dapat". Sesiapa sahaja boleh mengambil sumber untuk melaksanakan kerja mereka, mengancam produktiviti pekerja dan syarikat yang lain.

Sesuatu terpaksa dilakukan. Ketua Pegawai Eksekutif memutuskan untuk membahagikan syarikat monolitik kepada beberapa jabatan. Dia mencipta jabatan perkapalan, jabatan pemasaran, jabatan pembelian, jabatan kewangan, dan jabatan pergudangan. Sekarang tiada siapa yang boleh mengambil kapal itu. Ketua jabatan perkapalan menerima semua maklumat perkapalan dan mengeluarkan kapal itu kepada kurier yang penghantarannya paling menguntungkan bagi syarikat. Di samping itu, gudang tidak membenarkan kurir mengambil barang. Mereka mengawal proses itu. Jabatan kewangan tidak dapat memperuntukkan wang untuk pemasaran, jika ia tahu akan ada pembelian tidak lama lagi. Setiap jabatan mempunyai seorang tokoh masyarakat: ketua jabatan. Struktur dalaman setiap jabatan adalah kebimbangan mereka sendiri.Jika kurier ingin mengambil beberapa barang, dia akan pergi ke pengurus gudang, bukan ke gudang. Apabila pesanan baru masuk, ia pergi kepada ketua jabatan perkapalan ( orang awam ), bukan kurier ( orang persendirian ).

Dalam erti kata lain, Ketua Pegawai Eksekutif mengumpulkan sumber dan tindakan ke dalam jabatan , dan melarang orang lain daripada mengganggu struktur jabatan dalaman. Hanya orang tertentu yang boleh dihubungi.

Dari segi OOP, ini tidak lain daripada membahagikan program kepada objek. Program monolitik, yang terdiri daripada fungsi dan pembolehubah, ditukar kepada program yang terdiri daripada objek. Dan objek ini mengandungi pembolehubah dan fungsi.

"Tunggu sebentar. Jadi anda mengatakan bahawa masalahnya ialah setiap pekerja mempunyai akses tanpa had kepada sumber dan boleh mengeluarkan arahan kepada mana-mana pekerja lain?"

"Ya, betul-betul."

"Menarik. Kami memperkenalkan sekatan kecil, tetapi kami menerima lebih banyak pesanan. Dan mereka dapat mengekalkan kawalan yang lebih baik ke atas segala-galanya."

"Ya. Bahagi dan takluk dalam bentuk yang paling murni."

"Sama seperti yang anda katakan, bahagikan dan taklukkan. Itu sesuatu yang perlu diingat."