Где разместить код для лучшей практики? - PullRequest
0 голосов
/ 10 октября 2009

У меня есть приложение asp.net mvc, и у меня есть страница для представления метеоинформации. Похоже:

Температура на сегодня 34-35 градусов

Для этого

34-35 градусов

, у меня есть метод, который гарантирует, что текст будет в формате

[номер] [Dot] [Количество]

вызывается AssureCorrectDegressFormat (). Теперь я спрашиваю, где он подходит лучше всего. До сих пор я звонил с точки зрения, что-то вроде этого:

Но, как мне кажется, представление предназначено только для отображения данных, а не для вызова некоторых методов для работы с этими литералами. Я переместил свой класс SafeData в ядро ​​моего приложения и перешел к просмотру DTO, который уже вызвал этот метод и получил нужные данные для отображения. Меня интересует ваше мнение об этом, где лучше всего разместить этот класс, может быть, на уровне инфраструктуры и где его назвать, теперь я звоню в свои услуги из itr. Я забыл сказать, что я использую подход DDD.

Ответы [ 3 ]

4 голосов
/ 10 октября 2009

Форматирование, с моей точки зрения, является функцией, связанной с представлением, поэтому ее следует вызывать в представлении. Что касается кода, который фактически выполняет форматирование, я мог бы создать расширение HtmlHelper для обработки форматирования. Таким образом, я мог бы использовать его где угодно, но иметь код только в одном месте.

 <%= Html.ShowDegrees( DV.TheDegreeString ) %>
1 голос
/ 10 октября 2009

Форматирование отображения данных в представлении мне кажется вполне подходящим. Вы бы не задумывались о том, чтобы поместить это в свой просмотр:

<%= Model.MyDate.ToString("f") %> 

не могли бы вы? Принцип тот же.

0 голосов
/ 10 октября 2009

Если это очень простое форматирование или расчет, я просто помещаю его в представление. Если это сложнее, я добавлю метод во ViewModel. Если он сложный и может использоваться во многих местах, я создам для него HtmlHelper.

...