2010-11-15 4 views
0

Итак, я новичок в программировании и работе на C# и изучении MVC. Я, наконец, предпринял свой первый личный проект, чтобы практиковать то, что я изучал из книг/учебных пособий, которые я выполнял. Мой проект - это ваш типичный магазин, в котором представлены продукты, есть корзина для покупок, учетная запись пользователя, сайт администратора ... и т. Д.Нужна консультация по документообороту проекта MVC

Мне удалось подключить NHibernate к моей базе данных MySQL и разместить записи в представлении.

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

Я наклоняюсь к сайту администратора, так как логическое размещение продуктов в магазине происходит перед показом продуктов в вашем магазине.

Любые советы приветствуются.

+0

Вы также захотите создать приложение в веб-формах одновременно. Вы увидите, как Web Forms намного лучше подходит для хорошо разработанных приложений, чем MVC, который предназначен для создания небольших сайтов, а не корпоративных приложений. –

+0

@Mitch ... см. Мой комментарий на ответ @ gerry. Извините, но вы СООО ошибаетесь. –

+0

Я живу в Альберте, Канада, где OIL - это KING. Многие крупные нефтяные компании перемещают свои размещенные «системы» (а не только сайты) в ASP.NET MVC. Это многомиллиардная индустрия, использующая MVC для большинства своих размещенных систем ... включая зарплату, отчетность и т. Д. –

ответ

1

Я согласен с @Tod

Выберите часть веб-сайта, который необходим и построить его. Создайте свою модель (включая viewmodel), затем ваш контроллер и, наконец, ваш взгляд.

В моем случае я решил начать с пользователей.

  1. Я создал базу данных и таблицы пользователей (нет, я не использовал код первого или EF)
  2. Затем я создал LINQ DBML файл
  3. Затем я создал, как супер простой репозиторий, что переговоры с LINQ классы
  4. Далее я создал сервисный уровень, который делает немного более тяжелую работу перед общением с уровнем репозитория
  5. После этого я создаю ViewModel, который «преобразует» данные, которые должны были использоваться в представлении. Это также включало создание некоторых методов HtmlHelpers и Extension.
  6. Теперь моему контроллеру. Я создаю новый объект ViewModel, передаю объект ViewModel, а затем return viewmodel в представление.
  7. Наконец, я реализовал представление, сделал мой CSS и разметку.

Поэтому, когда я посещаю сайт, я не вижу многого, кроме красивого раздела «Готовые пользователи». Это также включает в себя зону регистрации, зону входа и т. Д.

Теперь, когда раздел «Пользователи» завершен, мой следующий большой раздел - «События», в котором я начну процесс снова и снова.

+0

За исключением того, что наиболее ценная часть продукта с точки зрения клиента была выполнена последней, и модель базы данных может быть неправильной в зависимости от того, что вам нужно отображать (возможно, вам не хватает поля). –

+0

Ну, я полагаю, что ПЕРВЫЙ шаг должен знать, какого черта вам нужно построить. –

+0

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

1

Начните с того, что вы можете использовать в первую очередь. Если вы не можете поместить продукты в систему, что хорошего - это «получение продуктов, показываемых на сайте, как мне бы хотелось». С другой стороны, наличие сайта, на котором вы можете вводить продукты, может быть (несколько) полезным для себя.

Даже если вы являетесь клиентом, спросите себя: какая самая маленькая функциональность, которую вы могли бы построить, которая была бы полезной для вашего клиента? Постройте это первым!

Удачи вам! Насладитесь программированием!

-1

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

Я обнаружил, что чем более конкретная цель, тем лучше опыт кодирования. Поэтому, если вы заинтересованы в конкретном проекте, вы узнаете, что нужно делать. Дайте себе проект, например, как утилиту музыкальной библиотеки, и посмотрите, где она вам понадобится. :)

+1

Спасибо за совет Однако, я думаю, вы упустили вопрос. Я уже начал проект. И я перечислил, что такое проект и что я сделал до сих пор, но искал конкретные направления на сайте MVC, над которым я работаю. – pghtech

+0

Хорошо справедливо .... Удачи вам в этом. – Alex

1

Я предполагаю, что это немного личное предпочтение. Для меня я бы предпочел сначала работать с передним клиентом, а именно: раздирать продукты, корзину покупок, покупку и оформление заказа.

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

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

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

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

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

0

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

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