1
我們有一個約50〜60個屬性的類,這些屬性依賴於同一類的屬性+某些其他類的屬性。目前正在改變一個屬性,我們正在提高其他20個屬性的屬性更改,這會使代碼變得混亂和容易出錯。處理這種情況的最佳方式是什麼?任何建議的設計模式來解決這個問題?大量屬性取決於其他屬性
public class ClassA
{
public ClassB classB;
public int Prop1
{
get { return CalculateValueForProp1(); }
}
private int prop2;
public int Prop2
{
get { return prop2; }
set
{
prop2 = value;
OnPropertyChange(nameof(Prop2));
OnPropertyChange(nameof(Prop1));
}
}
private int prop3;
public int Prop3
{
get { return prop3; }
set
{
prop3 = value;
OnPropertyChange(nameof(Prop3));
OnPropertyChange(nameof(Prop1));
}
}
public int CalculateValueForProp1()
{
return (this.prop2 * 10 + this.Prop1 * 20 + classB.AnotherProperty*10);
}
}
打破它,許多較小的班用更少的責任在任何類 –
50〜60個屬性僅僅是在一類太多的代碼。這是基本原則,像你不會像這樣膨脹一類的擔心分離。所以解決方案與屬性無關,並且會基礎。 – Christopher
您可以使用''「'屬性名稱['INotifyPropertyChanged.PropertyChanged'](https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.propertychanged.aspx)事件',這將會使用* one *事件使所有*屬性失效。最好的做法是實際執行[代碼審查](https://codereview.stackexchange.com/)。 – Sinatr