Tôi đang làm việc trên một dự án nhanh để theo dõi/xử lý dữ liệu. Về cơ bản đó chỉ là màn hình, lịch trình và bộ vi xử lý. Màn hình sẽ kiểm tra dữ liệu (ftp, local, imap, pop, vv) bằng cách sử dụng một lịch biểu và gửi dữ liệu mới đến một bộ xử lý. Tất cả đều có giao diện..config để tạo thủ thuật?
Tôi đang cố gắng tìm một cách lành mạnh để sử dụng cấu hình để định cấu hình lịch trình/bộ xử lý mà mỗi màn hình sử dụng. Đó là khá dễ dàng:
<monitor type="any.class.implementing.monitor">
<schedule type="any.class.implementing.schedule">
...
</schedule>
<processor type="any.class.implementing.processor" />
</monitor>
là cách tốt nhất để cấu hình bất kỳ màn hình cũ/lịch/xử lý ném vào trộn là những gì Những gì tôi đang phải vật lộn với. Một mặt, người ta có thể thực hiện params constructor hoặc tài sản (cho ot có bất kỳ cú pháp):
<monitor type="any.class.implementing.monitor">
<args>
<arg value="..." />
</args>
<properties>
<property name="..." value=..." />
</properties>
<schedule type="any.class.implementing.schedule">
...
</schedule>
<processor type="any.class.implementing.processor" />
</monitor>
giải pháp khác là phương pháp nhà máy ở mỗi giao diện mà có cấu hình tùy chỉnh như một param:
public IMonitor Create(CustomConfigSection config);
Tôi đã thấy mọi người sử dụng cả hai. Bạn thích cái nào hơn? Bất kỳ thủ đoạn nào của giao dịch khi lập bản đồ cấu hình cho các nhà xây dựng?
Tôi hơi bị rách vì liệu DI có phù hợp với mớ hỗn độn này hay không. Cuối cùng, nó sẽ là một tập hợp các ràng buộc trên mỗi trường hợp màn hình, có vẻ như vô nghĩa ngoại trừ các giá trị mặc định, cấu hình nào có thể bao trùm.