Việc chia một ứng dụng nguyên khối có khả năng thành nhiều ứng dụng nhỏ hơn có giúp ngăn ngừa lỗi không
Mọi thứ hiếm khi đơn giản trong thực tế.
Chia tách chắc chắn không giúp ngăn chặn những lỗi đó ngay từ đầu. Nó đôi khi có thể giúp tìm lỗi nhanh hơn. Một ứng dụng bao gồm các thành phần nhỏ, tách biệt có thể cho phép nhiều thử nghiệm riêng lẻ hơn (loại "đơn vị" -) cho các thành phần đó, điều này đôi khi có thể dễ dàng phát hiện ra nguyên nhân gốc của một số lỗi nhất định và do đó cho phép nó khắc phục chúng nhanh hơn.
Tuy nhiên,
ngay cả một ứng dụng dường như nguyên khối từ bên ngoài cũng có thể bao gồm rất nhiều thành phần có thể kiểm tra đơn vị bên trong, do đó, kiểm tra đơn vị không nhất thiết khó hơn đối với ứng dụng nguyên khối
như Ewan đã đề cập, sự tương tác của một số thành phần giới thiệu các rủi ro và lỗi bổ sung. Và gỡ lỗi một hệ thống ứng dụng với giao tiếp liên tiến trình phức tạp có thể khó hơn đáng kể so với gỡ lỗi một ứng dụng xử lý đơn
Điều này cũng phụ thuộc rất nhiều vào việc một ứng dụng lớn hơn có thể phân chia thành các thành phần tốt như thế nào và mức độ rộng của các giao diện giữa các thành phần và cách các giao diện đó được sử dụng.
Nói tóm lại, đây thường là một sự đánh đổi và không có gì mà câu trả lời "có" hoặc "không" nói chung là chính xác.
Tại sao các chương trình có xu hướng nguyên khối
Họ có làm không? Nhìn xung quanh bạn, có rất nhiều ứng dụng web trên thế giới trông không nguyên khối đối với tôi, hoàn toàn ngược lại. Ngoài ra còn có rất nhiều chương trình có sẵn cung cấp mô hình plugin (AFAIK ngay cả phần mềm Maya mà bạn đề cập).
họ sẽ không dễ dàng hơn để duy trì
"Bảo trì dễ dàng hơn" ở đây thường xuất phát từ thực tế là các phần khác nhau của ứng dụng có thể được phát triển dễ dàng hơn bởi các nhóm khác nhau, do đó khối lượng công việc phân tán tốt hơn, các nhóm chuyên ngành có trọng tâm rõ ràng hơn và trên.
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?
Không trộn dễ dàng hơn để mở rộng với việc duy trì mô-đun dễ dàng hơn - không có biến chứng hoặc thiết kế đáng ngờ. Maya có thể là địa ngục trần gian để duy trì trong khi các plugin của nó thì không. Hoặc ngược lại.