Я не использую 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% в процентах или 420 ‰ в представлении промиля все еще 0,42 в модели.
Это очищает его и имеет прекрасный смысл. Благодаря! – drizzie