Layering додаток ASP.NET MVC

Я починаю свій перший серйозний додаток ASP.NET MVC, і мені потрібно, щоб хтось пояснив, як правильно його накласти. (всі додатки, які я створив до цих пір, де просто тестові програми, і я не піклувався про правильне розміщення його)

Я довго шукав в Інтернеті, наприклад, належним чином накладеного MVC-додатку, але вся тема була або неповною, або просто тону тексту без реального прикладу.

Скажімо, у мене є веб-сайт електронної комерції (будь-який інший приклад буде добре), хтось може написати мені приклад того, як би ви структурували це додаток (наприклад, коли користувач купує продукт)

Які б ваші інтерфейси та класи виглядали як де ви їх розміщували , де б ви кладете класи для отримання даних з бази даних і так далі. Мені не потрібна реалізація цих класів, тільки їх позиція та функція або властивості, які вони мають

Наприклад

IProduct -> interface in 2nd project (Project.Whatever -> someFolder)

Властивості: Ім'я, Ціна ...

IProductRepsitory -> it's position in project

Функції: BuyProduct (Продукт продукту)

Тепер, коли ви визначили всі деталі, які, на вашу думку, будуть потрібні, щоб зрозуміти ваш приклад, будь-ласка, напишіть інформацію про поточний потік програми від контролера до створення погляду, яку функцію викликає від контролера, яка функція викликає функцію, яку ви викликали з контролера, і так, поки ви, нарешті, не розлучиться, де ви повернетеся до контролера та генеруватимете вигляд.

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

Спасибі заздалегідь

4

1 Відповіді

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

Я б сказав, що ви повинні поглянути на. Net Framework, ніяких жартів, з точки зору розуміння розриву занепокоєння. Ось це одне з найважливіших речей і відповідайте на ваше запитання: "Які б ваші інтерфейси та класи виглядали, де б ви їх розміщували".

Один зразок.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace YourCompanyName
{
   //here goes only stuff that could use in 
   //EVERY kind of .NET Application... 
   //The classes that are placed here dont
   //know windows, the internet, phones or ...
}

namespace YourCompany.Web
{
   //here goes only stuff that could use in
   //any Asp.NET Application.. Mvc and Webforms
   //like request helpers... Only Asp.NET related
   //stuff
}

namespace YourCompany.Web.Mvc
{
   //here goes only stuff that could use in
   //Asp.NET Mvc Application.. like HtmlHelpers or 
   //EditorTemplates
}

namespace YourCompany.Web.Forms
{
   //here goes only stuff that could use in
   //Asp.NET WebForms Application.. like WebControls
}

// and so on

і так далі, якщо ви щось робите за допомогою форм Windows ?, YourCompany.Windows.Forms , а ви розширити System.Windows.Forms Assembly .. це правильний спосіб думати.

У точці Asp.NET є хлопці

Скотт Хансельман

Філ Хаак

Скотт Гатрі

і багато інших, що я рекомендую вам читати свої блоги і побачити їх веб-трансляції.

У пункті Asp.NET MVC ви ДОЛЖЕН бачити ці два відео, Скотт Хансельман. Ви можете так багато вчитися за короткий час, веселитися та мотивуватись.

ASP.NET MVC 2: Основи, Введення автор Скотт Ханселман

ASP.NET MVC 2 : Поради з чорного поясу Ninja за Скотом Ханселманом

And download THE demo application to learn asp.net mvc, see how you could structure your application. =>

NerdDinner see it live on NerdDinner.com

Сподіваємось, це допоможе!

3
додано
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug