Trong vài năm qua, một số tác giả ... đã trình bày các mẫu đặc trưng cho kiến trúc phần mềm cấp cao ... Trong một thế giới lý tưởng, mọi hệ thống sẽ là một ví dụ về một hoặc nhiều mẫu cấp cao như vậy. Tuy nhiên, đây không phải là như vậy. Kiến trúc thực sự chiếm ưu thế trong thực tế vẫn chưa được thảo luận: BÓNG LỚN CỦA MUD .
MỘT BÓNG LỚN của MUD có cấu trúc hỗn độn, ngổn ngang, cẩu thả, băng keo và dây điện, rừng mã spaghetti. Chúng ta đều đã nhìn thấy chúng. Các hệ thống này cho thấy các dấu hiệu không thể nhầm lẫn của sự tăng trưởng không được kiểm soát, và lặp đi lặp lại, sửa chữa nhanh chóng. Thông tin được chia sẻ bừa bãi giữa các yếu tố xa xôi của hệ thống, thường đến mức gần như tất cả các thông tin quan trọng trở nên toàn cầu hoặc trùng lặp. Cấu trúc tổng thể của hệ thống có thể chưa bao giờ được xác định rõ. Nếu có, nó có thể đã bị xói mòn ngoài sự công nhận. Các lập trình viên với sự nhạy cảm về kiến trúc trốn tránh những vũng lầy này. Chỉ những người không quan tâm đến kiến trúc, và, có lẽ, thoải mái với quán tính của công việc hàng ngày để vá các lỗ hổng trong những con đê thất bại này, mới có thể làm việc trên các hệ thống như vậy ...
Tại sao một hệ thống trở thành một BÓNG LỚN CỦA MUD? Đôi khi, các hệ thống lớn, xấu xí xuất hiện từ MÃ THWAYAWAY . MÃ THWAYAWAY là mã nhanh và bẩn chỉ được sử dụng một lần và sau đó bị loại bỏ. Tuy nhiên, mã như vậy thường có một cuộc sống của riêng nó, mặc dù cấu trúc thông thường và tài liệu nghèo nàn hoặc không tồn tại. Nó hoạt động, vậy tại sao phải sửa nó? Khi một vấn đề liên quan phát sinh, cách nhanh nhất để giải quyết vấn đề có thể là sửa đổi nhanh chóng mã làm việc này, thay vì thiết kế một chương trình chung, phù hợp từ đầu. Theo thời gian, một chương trình vứt bỏ đơn giản đã tạo ra một BÓNG LỚN.
Ngay cả các hệ thống có kiến trúc được xác định rõ cũng dễ bị xói mòn cấu trúc. Sự tấn công không ngừng của các yêu cầu thay đổi mà bất kỳ hệ thống thành công nào thu hút có thể dần dần làm suy yếu cấu trúc của nó. Các hệ thống đã từng gọn gàng trở nên phát triển quá mức khi TĂNG TRƯỞNG PIECEMEAL dần dần cho phép các yếu tố của hệ thống mở rộng một cách không kiểm soát.
Nếu sự mở rộng như vậy tiếp tục không suy giảm, cấu trúc của hệ thống có thể trở nên bị tổn hại nghiêm trọng đến mức nó phải bị bỏ rơi. Như với một khu phố mục nát, một vòng xoáy đi xuống xảy ra. Vì hệ thống ngày càng khó hiểu hơn, việc bảo trì trở nên đắt đỏ và khó khăn hơn. Lập trình viên giỏi từ chối làm việc ở đó. Nhà đầu tư rút vốn. Tuy nhiên, như với các khu phố, có nhiều cách để tránh, và thậm chí đảo ngược, loại suy giảm này. Giống như bất cứ điều gì khác trong vũ trụ, việc chống lại các lực entropic đòi hỏi phải đầu tư năng lượng. Phần mềm làm dịu cũng không ngoại lệ. Cách để bắt entropy trong phần mềm là cấu trúc lại nó. Một cam kết bền vững để tái cấu trúc có thể giữ cho một hệ thống không bị lún vào BÓNG LỚN ...
- ... Một trong những kẻ thù hiệu quả nhất của bùn là ánh nắng mặt trời. Việc sử dụng mã phức tạp để xem xét kỹ mũi tên có thể tạo tiền đề cho việc tái cấu trúc, sửa chữa và phục hồi. Đánh giá mã là một cơ chế người ta có thể sử dụng để đưa mã ra ánh sáng ban ngày.