Було багато хороших відповідей, але оскільки майже мертвий розкол, я теж кину капелюх на ринг.
З мого досвіду як програмного інженера, я визнав це не простою проблемою. Це дійсно залежить від розміру , масштабу та мети програми. Старі програми в силу інерції, необхідної для їх зміни, як правило, є монолітними, оскільки це було звичною практикою протягом тривалого часу (Майя може кваліфікуватися у цій категорії). Я припускаю, що ви говорите про новіші програми взагалі.
У достатньо невеликих додатках, які мають більш-менш одиничну ступінь, накладні витрати, необхідні для підтримки багатьох окремих частин, зазвичай перевищують корисність розділення. Якщо її може підтримувати одна людина, вона, ймовірно, може бути монолітною, не викликаючи занадто багато проблем. Виняток із цього правила полягає в тому, що у вас є багато різних частин (фронтальний, резервний, можливо, деякі шари даних між ними), які зручно розділяти (логічно).
На моєму досвіді, навіть у великих програмах, що стосуються однієї проблеми, їх розділення має сенс. Ви маєте перевагу зменшити підмножину класу помилок, можливо, в обмін на інші (іноді простіше вирішити) помилки. Загалом, ви також можете мати команди людей, які працюють в ізоляції, що підвищує продуктивність праці. Однак сьогодні багато застосувань розділено досить дрібно, іноді на свій шкоду. Я також був у командах, де додаток було розбито на стільки мікросервісів без необхідності, що це ввело багато накладних витрат, коли справи перестали говорити один з одним. Крім того, необхідність володіти всіма знаннями про те, як кожна частина розмовляє з іншими частинами стає набагато складніше з кожним наступним розколом. Є баланс, і як ви можете сказати за відповідями тут, спосіб зробити це не дуже зрозуміло,
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?
Не змішуйте простіший спосіб розширення з легшим у обслуговуванні модулем - не є без ускладнень та сумнівних конструкцій. Майя може бути пекло на землі, поки її плагіни не є. Або навпаки.