Verileri izlemek/işlemek için hızlı bir proje üzerinde çalışıyorum. Esasen sadece monitörler, programlar ve işlemciler. Monitör, bir program kullanarak verileri (ftp, local, imap, pop, vb.) Kontrol eder ve bir işlemciye yeni veriler gönderir. Hepsinin arayüzleri var..config?
Her monitörün hangi zamanlamayı/işlemciyi kullandığını yapılandırmak için config kullanmanın aklı başında bir yol bulmaya çalışıyorum. Bu oldukça kolay:
<monitor type="any.class.implementing.monitor">
<schedule type="any.class.implementing.schedule">
...
</schedule>
<processor type="any.class.implementing.processor" />
</monitor>
Ne ile mücadele ediyorum karışımı içine atılmış herhangi bir eski monitör/zamanlama/işlemci yapılandırmak için en iyi yolu bu işte. Bir yandan, bir yapıcı params veya özellikleri uygulayabileceği (herhangi bir sözdizimi almak ot vermek):
public IMonitor Create(CustomConfigSection config);
: Başka bir çözüm, bir param olarak özel yapılandırma alır her arayüzde fabrika yöntemi
<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>
olduğunu İnsanların ikisini de kullandığını gördüm. Ne tercih edersin? Yapılandırmayı yapıcılarla eşleştirirken ticaretin herhangi bir hilesi var mı?
DI'nin bu karmaşaya uyup uymadığı konusunda biraz yırtılmışım. Sonuçta, monitör örneği başına bir bağlanma seti olurdu; bu, hangi yapılandırmanın kapsayabileceği varsayılanlar dışında anlamsızdır.