«domain-driven-design» etiketlenmiş sorular

Etki alanına dayalı tasarım (DDD), uygulamayı gelişen bir modele bağlayarak karmaşık ihtiyaçlar için yazılım geliştirmek için bir yaklaşımdır.

8
İlkel saplantı ne zaman kod kokusu olmaz?
Son zamanlarda, ilkel takıntıyı bir kod kokusu olarak tanımlayan birçok makaleyi okudum . İlkel takıntıdan kaçınmanın iki faydası vardır: Etki alanı modelini daha açık hale getirir. Örneğin, bir iş analisti ile posta kodu içeren bir dize yerine Posta Kodu hakkında konuşabilirim. Tüm doğrulama, uygulama genelinde değil, tek bir yerde yapılır. …

2
Bir CQRS Komutu tam olarak nasıl doğrulanmalı ve bir etki alanı nesnesine dönüştürülmelidir?
Ben yoksul adamın adapte edilmiş CQRS 1 Bir veri deposunda granül verilere sahip olan esneklik seviyorum çünkü analiz için büyük olanaklar sağlayan şimdi oldukça zaman ve böylece iş değeri artırmak ve okur arttırılmış performans için denormalized verileri içeren başka gerektiğinde . Fakat ne yazık ki, başından beri, bu tür bir …

5
ORM'ler zengin alan modelleri oluşturmayı mümkün kılıyor mu?
Hibernate'i yaklaşık 8 yıl boyunca projelerimin çoğunda kullandıktan sonra, kullanımını engelleyen ve uygulamaların yalnızca DB ile depolanan prosedürler aracılığıyla etkileşime girmesini isteyen bir şirkete indim. Bunu birkaç hafta yaptıktan sonra, oluşturmaya başladığım uygulamanın zengin bir etki alanı modeli oluşturamadım ve uygulama sadece (korkunç) bir işlem komut dosyası gibi gözüküyor. Bulduğum …

3
DDD Uygulama Hizmetleri ile REST API'si arasında kavramsal uyumsuzluk
Karmaşık bir iş alanı ve bir REST API (kesinlikle REST değil, kaynak odaklı) desteklemek için bir gereksinimi olan bir uygulama tasarlamaya çalışıyorum. Etki alanı modelini kaynak odaklı bir şekilde ortaya çıkarmanın bir yolunu bulmakta zorlanıyorum. DDD'de, bir etki alanı modelinin müşterilerinin Varlıklar ve Etki Alanı Hizmetleri tarafından uygulanan herhangi bir …

2
Anemik alan modelleri ve alan hizmetleri enjeksiyonu
Anemik alan modeli Martin Fowler alan odaklı tasarım bir anti-desen olarak tarif edilmektedir. Etki alanı modellerinde iş mantığına sahip olmak için genellikle etki alanı hizmetleri kullanılır. Ancak, etki alanı hizmetlerinin etki alanı modellerine enjekte edilmesi Vaughn Vernon tarafından zararlı olarak kabul edilir (bkz. "Etki Alanına Dayalı Tasarımın Uygulanması, Sayfa 387). …

3
İlişkisel veritabanları ve yinelemeli gelişim
Çevik metodolojiler, Etki Alanına Dayalı Tasarım ve Nesneye Dayalı Analiz ve Tasarım gibi yazılım geliştirmeye yönelik birçok yaklaşımda, geliştirmeye tek bir yinelemeli yaklaşım benimsememiz teşvik edilir. Bu yüzden, projede ilk çalışmaya başladığımızda alan modelimizi doğru bir şekilde yapmamız gerekmiyor. Bunun yerine, zaman geçtikçe modeli yeniden düzenliyoruz çünkü sorunlu alanı zamanla …

4
Kalıcılık tamamen işlevsel bir dile nasıl uyuyor?
Kalıcılıkla başa çıkmak için komut işleyicilerini kullanma şekli, IO ile ilgili kodu olabildiğince inceltmek istediğimiz tamamen işlevsel bir dile nasıl sığar? Etki Alanına Dayalı Tasarım'ı nesne yönelimli bir dilde uygularken, durum değişikliklerini yürütmek için Komut / İşleyici desenini kullanmak yaygındır . Bu tasarımda, komut işleyicileri etki alanı nesnelerinizin üstünde bulunur …

8
Değişmez nesneler ve DDD birlikte mi gider?
DDD kullanan bir sistem düşünün (ORM kullanan herhangi bir sistem). Herhangi bir sistemin gerçekçi bir şekilde, neredeyse her kullanım durumunda, bu etki alanı nesnelerini manipüle etmek olacaktır. Aksi takdirde gerçek bir etki veya amaç yoktur. Değiştirilemez bir nesnenin değiştirilmesi, nesne devam ettikten sonra yeni bir kayıt oluşturmasına neden olur ve …

3
Komutta doğrulama sonrası hatalar nasıl ele alınır (DDD + CQRS)
Bir Kayıt formu göndermek Örneğin, check-in zorunda Domain Model( WriteModeliçinde CQRSgeçerli bir durumda (örneğin, e-posta adresi sözdizimi, yaş, vs) olduğunu). Sonra a oluşturur Commandve a'ya gönderirsiniz Command Bus. Komutların hiçbir şey döndürmemesi gerektiğini anlıyorum. Öyleyse ötesinde bir hatayı nasıl ele alırsınız Command Bus? (Örneğin, bir kullanıcı 1 saniye önce aynı …

3
MVVM, DDD ve WPF Katmanlı Uygulama Proje Yapısı Kılavuzu
VS benim uygulama yapısını kurmaya çalışıyorum ve ben "denemek" ve makul bir seviyeye gelecekteki kanıtı istiyorum. Bu uygulama hiçbir sözleşme izlememiş eski bir Winform app WPF yeniden yazma olacak. Katmanlar, Katmanlar, Kısaltmalar vb. Oldukça büyük bir Kurumsal Uygulamadır. DB'lerim gibi Linq To SQL kullanmayı planladım ve büyük olasılıkla her zaman …

2
DDD-Lite bağımlılık enjeksiyonu için bir kalıp dil ​​midir?
Greg Young'un konuşmasına tökezledim 7 Sebep DDD Projelerinin başarısız olmasının nedeni , DDD-Lite olarak 7:20 olarak adlandırdığı bir şeyden bahsediyor. Özetle, bazılarının DDD'yi DDD ile ilgili başka bir şey yapmadan kalıp dilleri (varlıklar, depolar, değer nesneleri, hizmetler vb.) Olarak kullandığını söylüyor. .Net'teki alan modellerinin% 60 veya daha fazlasını DDD-Lite olarak …

5
Hizmetlerin SOA'da bir veritabanı paylaşması kötü bir uygulama mıdır?
Son zamanlarda Hohpe ve Woolf'un Kurumsal Entegrasyon Kalıpları, Thomas Erl'un SOA hakkındaki bazı kitaplarını okudum ve Udi Dahan ve ark. CQRS ve Olay Odaklı sistemlerde. İş yerimdeki sistemler yüksek kuplajdan muzdarip. Her sistemin teorik olarak kendi veri tabanı olmasına rağmen, aralarında çok fazla birleşme vardır. Uygulamada bu, tüm sistemlerin kullandığı …

3
DDD ve CRQS kullanırken, komut başına tam olarak bir olay mı olmalı?
Ben yapılandırma üzerinde kongre ile bir ddd uygulaması tasarlamak için bir yol arıyorum. Toplam "İstemci" nin "FillProfile" tanımlı bir komutu olduğunu varsayalım. Mantıksal olarak "ProfileFilled" etkinliğini yükseltir. Bir komutun bir olaydan daha fazla yükseleceği veya bir komutun bazı mantığa dayalı olarak farklı olayları toplayacağı durumlar var mı? Yoksa bu her …

2
DDD: Bir kök toplamının başka bir kök toplamına referans tutması doğru mu?
Etki alanına dayalı tasarımı (DDD) izlerken, bir kök toplamı için ayrı bir toplamda kök varlık olan bir iç varlığa referans olması doğru mudur? Bunun doğru olmadığına inanıyorum, esas olarak mavi kitaptaki bu kural nedeniyle : AGGREGATE sınırının dışında hiçbir şey, kök ENTITY (kök ENTITY) dışında herhangi bir şeye referans veremez. …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.