Örneğinizden, depolar ne kadar bağımlı olduklarına göre ayarlanmalıdır. MicroServices ve Domain Driven Design tasarlama konusundaki tüm akıl yürütme burada geçerlidir: bazı durumlarda yinelenen kod kabul edilebilir, arayüzlerle çalışılabilir, gerçekten gerekmediğiniz sürece uyumluluğu bozmazsınız, vb.
Şimdi benim görüşüme göre bir kullanıcı arayüzü arka uçtan bağımsız olmalıdır. Bu nedenle, bir UI proje deposunun tipik olarak UI kodunu ve İstemci Denetleyicisini içermesi gerekir. Müşteri Kontrolörü Servis Kontrol Cihazlarına soyut bir şekilde bağlanacaktır. Bir hizmet istemcisini / hizmet soyutlamasını, hizmetten ayrı olarak sürümlendirilmiş olarak kullanacaklar, böylece bir hizmet müşteriyi / müşterileri bozmadan güncellenebilir (birkaç farklı müşteri olabilir).
Bu nedenle, bir servisin kendi deposu olması gerekir. Benim görüşüme göre, hizmet sadece tek bir gerçek-dışı iş mantığı mantığıdır. Bu nedenle, iş mantığı genellikle onu barındıran hizmet teknolojisinden ayrı olmalıdır. Öte yandan, depo uygulaması tipik olarak işletme mantığına o kadar sıkı bağlanır ki, bu aynı depoya entegre edilebilir. Fakat orada bile kilometreniz değişebilir.
Tabii ki, tüm UI'nin arka uçla aynı kaynaktan ve arka uç servislerinin tipik olarak yalnızca aynı müşteri tarafından kullanılabildiği, teknoloji açısından çok fazla değişiklik yapma ihtimali olmayan veya birden fazla desteyi destekleyen basit projeler daha fazla yararlanabilir sıkıca entegre havuzlar.
Bu durumda, muhtemelen sadece bir havuzda tam dikey olacak şekilde iyi olacak ve işlevsel alanlarınızın kendi depolarında uygun şekilde tek başlarına olmalarına odaklanmaya odaklanacaksınız. O zaman hala daha küçük havuzların ve diğer ek masrafların çoğu avantajına sahipsiniz.