Apakah memecah aplikasi yang berpotensi monolitik menjadi beberapa yang lebih kecil membantu mencegah bug
Kenyataannya jarang yang sesederhana itu.
Berpisah tentu saja tidak membantu mencegah bug itu terjadi. Terkadang membantu menemukan bug lebih cepat. Aplikasi yang terdiri dari komponen kecil yang terisolasi dapat memungkinkan lebih banyak individu (semacam "unit" -) pengujian untuk komponen-komponen itu, yang kadang-kadang membuatnya lebih mudah untuk menemukan akar penyebab bug tertentu, dan memungkinkannya untuk memperbaikinya lebih cepat.
Namun,
bahkan aplikasi yang tampaknya monolitik dari luar dapat terdiri dari banyak komponen yang dapat diuji unit di dalamnya, sehingga pengujian unit tidak selalu lebih sulit untuk aplikasi monolitik
seperti yang sudah disebutkan Ewan, interaksi beberapa komponen menimbulkan risiko dan bug tambahan. Dan debugging sistem aplikasi dengan komunikasi antar proses yang kompleks bisa jauh lebih sulit daripada men-debug aplikasi satu proses
Ini juga sangat tergantung pada seberapa baik aplikasi yang lebih besar dapat dipecah menjadi beberapa komponen, dan seberapa luas antarmuka antar komponen, dan bagaimana antarmuka tersebut digunakan.
Singkatnya, ini sering merupakan trade-off, dan tidak ada di mana jawaban "ya" atau "tidak" benar secara umum.
mengapa program cenderung monolitik
Apakah mereka? Lihatlah di sekeliling Anda, ada gazillions aplikasi Web di dunia yang tidak terlihat sangat monolitik bagi saya, justru sebaliknya. Ada juga banyak program yang tersedia yang menyediakan model plugin (AFAIK bahkan perangkat lunak Maya yang Anda sebutkan).
apakah mereka tidak akan lebih mudah untuk dirawat
"Pemeliharaan yang lebih mudah" di sini sering berasal dari kenyataan bahwa bagian-bagian berbeda dari suatu aplikasi dapat dikembangkan lebih mudah oleh tim yang berbeda, sehingga beban kerja yang didistribusikan lebih baik, tim khusus dengan fokus yang lebih jelas, dan seterusnya.
If the animation and modelling capabilities were split into their own separate application and developed separately, with files being passed between them, would they not be easier to maintain?
Jangan mencampur lebih mudah untuk memperpanjang dengan lebih mudah untuk mempertahankan modul -per se tidak bebas dari komplikasi atau desain yang meragukan. Maya bisa menjadi neraka di bumi untuk dipertahankan sementara pluginnya tidak. Atau sebaliknya.