我不使用C#和WebFormsMvp,但我覺得你的問題是相當多有關共同MVP架構。讓我從WebFormsMvp範圍中解釋它。 P的唯一責任應該是M和V之間的中介(就如何將M數據「傳遞」給V而言,反之亦然),並且V負責將數據表示爲用戶。
請考慮以下情況:您決定放棄txtAmount
字段(讓我們考慮它只是一個文本標籤或輸入等),以支持某種進度條或簡單圖表。如果您之前通過了「規範化」數字值(因爲它們來自您的案例中的M) - 您仍然可以根據需要替換您的數量視圖,因爲它們應該接受原始數值。
public interface IView {
decimal Amount { set; }
}
比較上面:
public interface IView {
// How to apply a string to a chart as a data item?
string Amount { set; }
}
對於後者,你會面對面與「字符串到十進制」問題爲Amount
財產需要返工您string IView.Amount
回decimal IView.Amount
(或者更糟糕的是:解析百分比值,在IView
實例中將%
符號等放在右邊,使其再次成爲一個數字,即使不知道原始數字類型:是小數還是整數?)
您也可以將百分比視爲人類的V:百分比視圖中的42%或promille視圖中的420‰在模型中仍然爲0.42。
這清除了它並且非常有意義。謝謝! – drizzie