WSSF kullanarak bir WCF Web Hizmeti oluşturuyoruz. Buradaki fikir, ana veri tabanımızın hizmet yoluyla açığa çıkması ve hizmetin üstünde çeşitli uygulamalar ve web siteleri oluşturmamıza izin vermesidir. Şu anda bu hizmetten bazı verileri indirecek basit bir istemci uygulaması yapıyorum, daha sonra kullanıcılara bir rapor CSV dosyası olarak verin.WCF/İstemci uygulamaları - iş mantığı nereye gitmeli?
Şimdi asıl soru iş mantığının (verileri manipüle eden) nerede konumlandırılacağıdır? Servisin içine koyacağımı düşündüm. Veritabanında neredeyse birebir eşleştiren basit nesnelerle (müşteri, sipariş vb.) Bir iş katmanım var. Verileri manipüle etmek için bazı "daha yüksek seviyeli" objeler yapacağımı düşündüm. Örneğin, müşteri, sipariş ve diğer nesneleri kullanarak ve bir rapor üreterek vb. Bunun için en iyi yerin hizmet için iş katmanında olacağını düşündüm. Bu şekilde gerekirse bu mantığı çeşitli farklı uygulamalar için yeniden kullanabiliriz.
Maalesef patronum kabul etmiyor. Bir "endişelerin ayrılığı" istiyor ve bu mantık için doğru yerin hizmet yerine müşteri uygulamasında bir iş katmanında olacağını söyledi. Bu daha basit olabilirdi, ancak bu kodu yazmak için güçlü nesne modelimi hizmet iş katmanında kullanmak istiyorum. Hizmet tarafından açığa çıkan nesneler, "gerçek" nesneler değildir ve hizmet iş katmanının içinde mevcut olan tam nesne modelinin gücü olmadan gerçekten sadece hafif veri yapılarıdır.
Siz ne düşünüyorsunuz? Yardım için çok teşekkürler.
Alkış Mark
ona sor: eğer başka bir müşteriye ihtiyacımız varsa, tüm iş mantığını kopyalamalı mı, yoksa merkezi bir versiyon mu kullanmalıyız? –
@Rubens Farias 'mantığı ile devam ediyor, eğer iş mantığı sabitlenmeli ve istemcide bulunuyorsa, o zaman * tüm * müşterilerin güncellenmesi gerekiyor. Serviste ise, sadece servis güncellenmelidir. –
Yanıtlar için teşekkürler. Evet, yeniden kullanılabilirliğin de iyi olduğunu düşünüyorum. Olumsuz olan, servisin güncellenmesinin mevcut tüm müşterileri yıkabileceğidir. –