Gần đây tôi đã bắt đầu nghĩ rằng có nhiều lớp người quản lý trong thiết kế của bạn là một điều tồi tệ. Ý tưởng chưa đủ chín muồi để tôi đưa ra một lập luận hấp dẫn, nhưng đây là một vài điểm chung:
Tôi thấy khó khăn hơn nhiều đối với tôi để hiểu các hệ thống phụ thuộc nhiều vào "người quản lý". Điều này là do, ngoài các thành phần chương trình thực tế, bạn cũng phải hiểu cách thức và lý do tại sao trình quản lý được sử dụng.
Các nhà quản lý, rất nhiều thời gian, dường như được sử dụng để giảm bớt một vấn đề với thiết kế, như khi lập trình viên không thể tìm ra cách làm cho chương trình Just Work TM và phải dựa vào các lớp của người quản lý để làm cho mọi thứ hoạt động chính xác.
Tất nhiên, máng cỏ có thể tốt. Một ví dụ rõ ràng là một EventManager
, một trong tất cả các cấu trúc yêu thích thời gian của tôi. : P Quan điểm của tôi là các nhà quản lý dường như bị lạm dụng rất nhiều thời gian và không có lý do chính đáng nào ngoài việc che giấu một vấn đề với kiến trúc chương trình.
Là các lớp quản lý thực sự là một dấu hiệu của kiến trúc xấu?
EventManager
là một cái tên kinh khủng cho một lớp học. Nó bề ngoài là làm một cái gì đó với các sự kiện, nhưng những gì ?
Of course, mangers can be good. An obvious example is an EventManager
giải thích tất cả ngay tại đó. Một sự lạm dụng của khái niệm này là kiến trúc xấu, nhưng có những trường hợp sử dụng hợp pháp. Điều tương tự cũng đúng với hầu hết mọi thứ.