2016-04-05 15 views
0

Diyelim ki A ve B varlıklarım var. Her biri için serviceX ve repositoryX var. Hizmetten, B'den bir şeye ihtiyacım varsa: B servisini çağırmamalı mıyım? veya doğrudan deposu B mi çağırmalıyım?En iyi uygulamalar: Diğer hizmetlere veya doğrudan depolara çağrı mı hizmetleri?

Şimdiden teşekkürler.

+0

"Doğrudan arama" ne anlama geliyor? Depoları ve hizmetleri varlıklarınızı kullanmadan nasıl erişilebilir? Onları singletonlar, servis sağlayıcılar veya benzerleri ile tanıştırmayı planlıyor musunuz? Biraz daha fazla ayrıntıya ihtiyacımız var, sanırım – IceFire

+0

Yorumunuz için teşekkürler. Ben gencim. A işletmesi A ve bir iş mantığını yönetmek için bir hizmet A üzerinde bazı işlemleri ile bir depo A anlaşılmaktadır düşündüm. B. için de aynýlar. Soru en iyi uygulamalarla ilgilidir. ServiceA'da kullanıcı repositoryB.foo() yönteminde bir yöntem mi yoksa repositoryB.foo() işlevini çağırdığı bir serviceB.foo() yöntemini çağırmalı mı? – ldepablo

cevap

1

Anladığım kadarıyla A ve B iki katmanında var: iş mantığı (servis) ve veri erişimi (depo). En iyi uygulama, A ve B'yi arayüzler üzerinden haberleşen ayrı bileşenler olarak görmek. A için veri erişimi, A bileşeni için özel olmalıdır. Dolayısıyla B bileşeni, A bileşeninden bazı verilere ihtiyaç duyuyorsa, A bileşenini, veri erişim katmanına değil, genel arabirimini kullanarak sormalıdır.

+0

Cevabınız için teşekkür ederiz. Aslında bunu yaptığım yol. Sadece döngüsel referanslar alıyorum ama onlardan kurtulmanın bir yolunu göremiyorum. Yeni bir soru yayınlayacağım. – ldepablo

İlgili konular