Sorumu bildiğimden emin değilim ama açıklamaya çalışacağım.Veritabanındaki validasyon kurallarını kaydet
Bir etki alanı modelindeki her türün bir kural veya doğrulama (ya da her neyse) Stratejisi olacağı göz önünde bulundurulduğunda, bu doğrulayıcıların Veritabanında devam etmesi sorunu nedir? Örneğin
:
Ben somut doğrulayıcılarınıbir damnable yaklaşım mı
yönetmek için Hiyerarşi yaklaşımı Başına Tablo kullanacakpublic Class Contract
{
...
public ContractType Type {get;set;}
public bool Validate(){
return Type.Validate(this);
}
}
public abstract class ContractType
{
public int Id{ get; set; }
public string Description{ get; set; }
public abstract bool Validate(Contract contract);
}
public Class PreSale : ContractType
{
public override bool Validate(Contract contract)
{
//here goes specific validation for PreSale
}
}
public Class HighRiskSale : ContractType
{
public override bool Validate(Contract contract)
{
//here goes specific validation for HighRiskSale
}
}
public Class AprovedSale : ContractType
{
public override bool Validate(Contract contract)
{
//here goes specific validation for AprovedSale
}
}
followning modeli vardır
?
Bunu yapmanın sorunları nelerdir?
duydum ki ana argümanı, sade bir yapıya sahip ve DI konteyner veya Servis Locator gelen kuralları almak gerektiğidir güncellenen, ama bir hizmet bulma aracı olmasının rahat değilim Domain Modelimde.
peşin
Bu kurallardan kaç tane var ve bunların zaman içinde büyümesini nasıl bekliyorsunuz? – guillaume31
Çok fazla kural yok, iş değişimlerine bağlı olacak. – Dummy
Onları neden veritabanında saklamak istiyorsunuz? Üretimde kodun yeniden kodlanması bu günlerde kolaydır. Bunu önlemek için her gün yapmanız gerekir, ancak her birkaç ayda bir kuralı değiştirmek için yeniden yapılanmak tamamen kabul edilebilir. – guillaume31