Tôi đang ở giai đoạn hoàn thành của một dự án lớn có nhiều thành phần lớn: thu nhận hình ảnh, xử lý hình ảnh, lưu trữ dữ liệu, I/O nhà máy (dự án tự động hóa) và một số mục khác.MVVM và tránh đối tượng Thiên Chúa nguyên khối
Mỗi thành phần trong số này là độc lập một cách hợp lý, nhưng để dự án chạy toàn bộ, tôi cần ít nhất một phiên bản của mỗi thành phần. Mỗi thành phần cũng có một ViewModel và View (WPF) để theo dõi trạng thái và thay đổi mọi thứ.
Câu hỏi của tôi là phương pháp an toàn nhất, hiệu quả nhất và dễ bảo trì nhất trong việc khởi tạo tất cả các đối tượng này, đăng ký một lớp với Sự kiện ở một sự kiện khác và có ViewModel và Chế độ xem chung cho tất cả điều này.
Sẽ tốt nhất nếu tôi có một lớp được gọi là Thiên Chúa có cá thể riêng của tất cả các đối tượng này? Tôi đã làm điều này trong quá khứ và hối hận.
Hoặc sẽ tốt hơn nếu Thiên Chúa dựa vào trường hợp Singleton của những vật thể này để có được quả bóng lăn.
Ngoài ra, nên Program.cs (hoặc bất cứ nơi nào chính (...)) khởi tạo tất cả các thành phần này và chuyển chúng đến với Chúa làm thông số và sau đó để cho Ngài (snicker) và giao diện ViewModel của mình với các đặc điểm của hoạt động dự án này.
Bất kỳ đề xuất nào khác mà tôi muốn nghe.
Cảm ơn bạn!
Tôi đã thử mọi cách tiếp cận không thuộc bên thứ ba ở ngoài đó, mọi nỗ lực ngoại trừ lần thử cuối cùng là thất bại ở một mức độ nào đó và cuối cùng giải quyết một điều gì đó rất gần với mẫu ViewModelLocater của bạn. Tôi chắc chắn rằng các khuôn khổ của bên thứ ba mà những người khác đã đăng sẽ giúp tôi tiết kiệm rất nhiều công sức, nhưng tôi đã quá muộn vào dự án vì điều đó. Câu trả lời này là một nền tảng trung bình tốt. Tôi lấy nó, bạn đã học được cách khó khăn quá. Dù sao, ở đây chúng tôi là vài tháng sau đó nhưng - cảm ơn bạn! – bufferz