2013-05-09 2 views
0

Я в настоящее время bussy с моей диаграммой классов.Диаграмма классов aspx

В моем проекте есть несколько классов (например: User.cs, Friend.cs, Message.cs).

И у меня есть также файлы .aspx и .ascx (веб-пользователей), которые также имеют классы, например: ShowFriends.ascx имеет класс ShowFriends.ascx.cs.

Что я хотел бы знать: нужно ли создать класс в диаграмме классов для класса ShowFriends.ascx.cs? Или это недопустимо, потому что это часть файла .ascx? Если я этого не сделаю, я пропущу много вещей на диаграмме классов.

Если это разрешено: как я могу разделить Friend.cs с файлом ShowFriends.ascx.cs на диаграмме классов? Поскольку файл Friend.cs имеет только некоторые атрибуты, и файл ShowFriends.ascx.cs имеет такие методы, как ShowFriends(). И если я создаю связь между User и Friend.cs и ShowFriends.ascx.cs, это выглядит очень странно.

Для меня более логично иметь один класс под названием Friend.cs или что-то со всеми атрибутами и методами в нем (методы Like ShowFriends()), но у меня нет этого, потому что мне нужно создать некоторые методы в. ascx.cs из-за использования Request.QueryString ["Username"].

Заранее благодарен!

ответ

1

Лучшей практикой является определение всех ваших классов в отдельном файле. Если вас беспокоит доступ к объекту Request, вы все равно можете сделать это за пределами файлов .ascx.

Пока ваши ссылки на проекты System.Web вы можете получить доступ к нему, как это:

string user = HttpContext.Current.Request["Username"]; 

я бы не поставил ascx.cs файлы внутри диаграммы классов. На диаграмме классов вы хотите определить свою модель домена, а не свой пользовательский интерфейс.

+0

Спасибо за ваш ответ, поэтому вы рекомендуете мне передать мой метод ShowFriends() из файла управления веб-пользователя в мой обычный класс Friend? Но если я это сделаю, то я не могу получить доступ к ретранслятору, который находится в моем файле ShowFriends.ascx ... – Swag

+0

Если вы обращаетесь к репитеру внутри этого метода, вы должны оставить его там. Я имел в виду, что вам действительно не нужен этот метод на диаграмме классов. В целом вы должны стараться иметь как можно меньше кода в .ascx и вводить любую логику в другие классы, которые являются частью вашей диаграммы классов. – Kenneth

+0

Большое спасибо. Если это не странно, если у меня нет ShowFriends() или AddFriend() в моей диаграмме классов? – Swag

Смежные вопросы