Trong khi tôi muốn tránh các biến toàn cầu như bệnh dịch hạch vì phần mềm của chúng tôi không thể đa luồng hiệu quả do sự phụ thuộc cao vào các biến toàn cầu, tôi có một số gợi ý:
Sử dụng Singleton. Nó sẽ cho phép bạn giữ mã và truy cập sạch sẽ. Một phần của vấn đề với một biến toàn cục là bạn không biết mã nào đã sửa đổi nó. Bạn có thể đặt giá trị toàn cục ở đâu đó trong hàm của bạn dựa vào hy vọng rằng không ai khác thay đổi nó, nhưng chức năng các lệnh mã của bạn, fooA, thay đổi nó và bây giờ mã của bạn là a) bị hỏng và b) khó gỡ lỗi.
Nếu bạn phải sử dụng biến toàn cầu mà không cần chạm vào mẫu đơn, hãy xem phản hồi của fupsduck.
Nguồn
2010-01-08 17:25:58
Cho dù bạn có sử dụng 'Singleton' hay không, một trong những vấn đề vẫn là bạn có khả năng' khởi tạo/hủy đơn hàng chờ đợi ... ngay cả trong một chương trình được tạo luồng đơn. Điều đó nói rằng, tôi biết rằng đôi khi nó chỉ là dễ dàng hơn rất nhiều, đặc biệt là khi bạn muốn thúc đẩy tách. –