6.1 Panguraian

Senadyan macem-macem kritéria, tugas utama ing pangembangan sistem gedhe yaiku tugas ngurangi kerumitan sistem . Kanggo nyuda kerumitan, ora ana apa-apa kajaba divisi dadi bagean sing durung diciptakake.

Kadhangkala, kanggo kesederhanaan, iki diarani prinsip "dibagi lan digdaya", nanging, saka sudut pandang arsitek piranti lunak, kita ngomong babagan dekomposisi hirarkis .

Sistem sing kompleks kudu dibangun saka sawetara subsistem sing luwih prasaja, sing saben-saben dibangun saka bagean sing luwih cilik, lan sateruse nganti bagean sing paling cilik cukup prasaja kanggo langsung dimangerteni lan digawe.

Panguraian

Kabar apik yaiku solusi iki ora mung siji sing dikenal, nanging uga universal. Saliyane nyuda kerumitan, uga nyedhiyakake keluwesan sistem , skalabilitas sing apik , lan tambah daya tahan kanthi duplikat bagean kritis.

Mulane, nalika mbangun arsitektur program, nggawe strukture, iki tegese ngurai program kasebut dadi subsistem, layanan, lapisan, subrutin lan modul fungsional lan ngatur interaksi karo saben liyane lan donya njaba.

Lan sing paling larang ing kene yaiku: subsistem sing luwih mandiri, luwih aman kanggo fokus ing pangembangan saben wong kanthi kapisah ing wektu tartamtu lan ora kuwatir babagan kabeh bagean liyane.

6.2 Manfaat arsitektur modular

Nggunakake prinsip dekomposisi hirarkis ngidini sampeyan nyingkirake kekacauan ing ewu kelas kode sampeyan. Elinga yen kode sampeyan dipérang dadi paket (paket) lan subpaket? Iki minangka salah sawijining ekspresi kanggo dekomposisi hirarkis.

Program sampeyan ngowahi saka akeh kelas dadi sakumpulan perpustakaan lan modul sing sesambungan karo siji liyane miturut aturan sing wis ditemtokake lan prasaja. Iki, ing siji, ngijini sampeyan kanggo ngontrol kerumitan sawijining, lan uga menehi kesempatan kanggo njaluk kabeh keuntungan sing biasane digandhengake karo konsep arsitektur apik.

Ing ngisor iki sing paling dhasar:

  • Skalabilitas - kemampuan kanggo nggedhekake sistem lan nambah kinerja kanthi nambah modul anyar.
  • Maintainability - ngganti siji modul ora mbutuhake ngganti modul liyane.
  • Swapability saka modul (Swappability) - modul bisa gampang diganti karo liyane.
  • Pengujian Unit - Unit bisa dicopot saka kabeh liyane lan diuji / didandani .
  • Reusability - modul bisa digunakake maneh ing program liyane lan lingkungan liyane.
  • Maintenance - program sing dipérang dadi modul luwih gampang dimangerteni lan dijaga.

Bisa diarani yen mecah masalah rumit dadi pecahan sing prasaja minangka tujuan kabeh teknik desain . Lan istilah "arsitektur" ing sawetara kasus mung nuduhake asil saka divisi kasebut plus "sawetara keputusan desain sing, yen diadopsi, angel diganti" (Martin Fowler "Arsitektur Aplikasi Perangkat Lunak Perusahaan").

Mulane, paling definisi ing siji wangun utawa liyane godhok mudhun ing ngisor iki:

" Arsitektur ngenali komponen utama sistem lan carane padha sesambungan. Iku uga pilihan saka pancasan kuwi sing Juru minangka dhasar lan ora tundhuk owah-owahan ing mangsa ."

" Arsitektur minangka organisasi saka sistem, diwujudake ing komponen, hubungane karo siji liyane lan lingkungan. Sistem minangka sakumpulan komponen sing digabungake kanggo nindakake fungsi tartamtu ."

Dadi, arsitektur sing apik yaiku, pisanan, arsitektur modular / blok . Kanggo entuk arsitektur sing apik, sampeyan kudu ngerti carane ngurai sistem kanthi bener. Iki tegese perlu ngerti dekomposisi sing dianggep "bener" lan cara sing paling apik kanggo nindakake.