"Halo, Amigo! Aku arep menehi pitutur marang kowe bab keuntungan liyane saka OOP. Sampeyan ndeleng, program luwih kaya kewan saka bangunan. Padha ora dibangun, lagi thukul. Development tegese owah-owahan pancet. Ing construction, sampeyan bisa duwe rencana sing apik lan tindakake menyang T. Nanging ing pangembangan piranti lunak, ora kaya ngono."

Cukup asring, sampeyan ora bisa nindakake soko ing cara sing dimaksudaké kanggo, lan sampeyan kudu rework program akeh. Lan malah luwih kerep, syarat pelanggan diganti.

"Nanging yen pelanggan nyedhiyakake spesifikasi sing rinci banget?"

"Ndeleng apa sing kedadeyan saka wektu. Yen produk sukses, pelanggan bakal pengin ngeculake versi anyar, banjur liyane, lan liyane. Lan, mesthi, sampeyan kudu nggawe sawetara « owah-owahan cilik » kanggo produk sing wis ana. Dadi pangembangan piranti lunak minangka seri owah-owahan sing dawa. Mung irama sing beda. Versi anyar bisa uga dirilis saben minggu, sasi sepisan, utawa saben nem sasi.

"Dadi apa sing kita simpulake saka kabeh iki?"

"Struktur internal prodhuk kudu dijaga kanthi cara sing bakal ngidini owah-owahan utama (lan suntingan) digawe kanthi reworking minimal."

"Piye carane?"

"Kita wis ngomong babagan carane program kalebu obyek sing sesambungan karo siji liyane. Ayo nggunakake titik kandel kanggo makili kabeh obyek program ing papan. Kita bakal nggambar panah saka saben obyek (titik) menyang kabeh obyek. (titik) sing sesambungan karo."

Saiki ayo gabungke obyek (titik) dadi klompok. Titik kalebu klompok sing padha yen luwih akeh disambungake tinimbang titik liyane. Yen umume panah titik nunjukake titik-titik ing klompoke, mula kita wis nglumpukake obyek kanthi bener. Titik ing klompok sing padha diarani rapet, dene titik-titik ing klompok sing beda-beda digandhengake.

Iki diarani « prinsip kopling ngeculke ».A program dipérang dadi sawetara bagéan, asring lapisan, kang logika banget disambungake kanggo struktur internal lan weakly disambungake menyang lapisan liyane / bagean. Interaksi antarane lapisan biasane kompartemen banget. Siji lapisan bisa nelpon lapisan liyane nggunakake mung subset cilik saka sawijining kelas.

"Prinsip 'divisi kerja' sing padha, nanging kanthi skala sing luwih gedhe?"

"Satemene. Iki ngidini kita ngatur maneh departemen, nggawe luwih efisien, lan nyewa luwih akeh wong, lan yen kita ora ngganti protokol antar departemen, kabeh owah-owahan kita bakal lokal. Ora ana sing kudu dilatih maneh. Aku kudu ngerjakake kabeh sistem. Saben departemen bisa ngoptimalake urusan internal kanthi cara iki yen mekanisme interaksi departemen dipilih kanthi apik.

"Yen dheweke dipilih kanthi apik. Lan yen ora dipilih kanthi apik?"

'Banjur sampeyan bakal kehabisan " kamar goyang " kanggo nggawe pangowahan, lan kudu ngolah kabeh sistem. Sing kedadeyan saka wektu kanggo wektu. Kita ora bisa prédhiksi masa depan, nanging kita bisa nyilikake kaping pirang-pirang kita kudu nulis ulang program kasebut.

"Oke. Aku weruh keuntungan saka dibagi program kaya, nanging carane OOP teka menyang gambar?"

"Nalika kita milih carane struktur departemen lan carane padha bakal sesambungan, kita aplikasi ' prinsip abstraksi '. Ing pemrograman, abstraksi digunakake kanggo nemtokake cara paling apik kanggo pamisah munggah program lan carane bagean kudu sesambungan. Prinsip iki bisa uga ditrapake bola-bali menyang bagean konstituen nganti kita ngilangi program kasebut dadi kelas individu.

"Lan ndhelikake struktur internal bagean kasebut, lan mbatesi cara sesambungan karo bagean liyane - yaiku enkapsulasi , ta?"

"Pancen. Enkapsulasi lan abstraksi minangka landasan saka OOP. Program sing apik kudu netepi rong prinsip kasebut.

"Barang apik. Aku ora sabar!"