2010-05-10 3 views
0

У меня есть вопрос проектирования кода, который давно искал меня, вы видите, что я делаю рефакторинг моего сайта Cosplay Denmark, сайт, на котором cospalyers могут загружать изображения из них в своих костюмах. Оригинальный сайт был сделан в PHP, Zend MVC, но мой рефакторинга делается в ASP.NET MVC 2.Лучшая практика, дизайн объектов ASP.NET MVC

Если вы берете на сайт http://www.cosplaydanmark.dk/Costumes/ (Вы можете переключиться на английский язык в левой колонке (Языки общения))

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

http://www.cosplaydanmark.dk/Costumes/Bleach

Если нажать на аниме вы получите список символов в данном аниме, которые мы имеем изображения в, здесь мы показываем имя персонажа, сколько галерей и сколько изображений.

http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/

Если щелкнуть по имени персонажа, вы получите список галерей по данному признаку в данном аниме. Здесь у нас есть информация о галерее, например, количество изображений.

http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/Admi/

Если вы нажмете на галерею вы получите список изображений в галерее.

Моя база данных выглядит так.

Database Design http://sogaard.us/uploades/dbdesign.jpg

Как вы можете себе представить, что есть много разных запросов, чтобы создать сайт, на первом месте, мне нужно сделать выбор на на столе «анимэ» и для каждого результата, Мне нужно сделать подсчет количества символов и галерей.

Мой план, чтобы создать это будет один из следующих

Objects plan http://sogaard.us/uploades/objectsetup.jpg

Где IList, будет ленивым список загрузки.

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

Я использую шаблон службы с репозиторией linq to sql.

Мой дизайн не является абсолютным, я готов изменить его, если это может привести к увеличению производительности: D

Я надеюсь, что у меня описать мой вопрос достаточно хорошо для вас, чтобы понять, что я имею в виду, но спрашивай, если есть что-то, что я пропустил.

ответ

0

Я лично хотел бы быть в состоянии связать и обратно к

Так что каждый и имеют свойство animeId, который является внешним ключом обратно

Так что я могу сделать простой запрос getAllImagesByAnimeId

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