2013-03-09 1 views
2

Je suis un étudiant en informatique et même si j'ai travaillé avec MVC auparavant, je n'ai jamais construit de projet à partir de zéro. Le projet est pour un cours de photographie, où l'enseignant sera en mesure de télécharger des photos en vedette. Les étudiants doivent se connecter pour pouvoir voir les images et les devoirs. Je voudrais que les étudiants se connectent sur www.mysite.com, et l'enseignant sur admin.mysite.com, donc nous avons 2 sites web différents dans une solution.Conseils sur la structure de projet ASP.NET MVC?

Comme de savoir mes projets de solution sont:

  • dataLayer
  • BusinessLogicLayer
  • AdminWebsite
  • Site

Note: Gearhost va être mon hôte.

Maintenant, comment vais-je héberger l'AdminWebsite et le site Web sur deux domaines différents, alors que les deux «alimentent» à partir des mêmes BusinessLogic et DataLayer?

Est-ce que je devrais plutôt faire deux projets différents qui fonctionnent sur la même base de données? Est-ce que c'est même possible? J'ai fait ma recherche et lu un peu sur les zones, mais je n'ai pas été en mesure de trouver un bon tutoriel, est-ce une bonne pratique d'utiliser des zones à la place, si oui, pouvez-vous me fournir un lien vers un bon tutoriel, ou un exemple simple?

Merci d'avoir lu!

Répondre

1

Il est courant que les sites simples et la mise en œuvre n'utilisent qu'un seul projet pour le public, les membres et les sites d'administration.

Vous devriez être en mesure de sectionner chaque zone en fonction des autorisations de l'utilisateur, il n'est donc pas nécessaire de créer deux sites Web distincts.

Je suggère les ressources suivantes pour les meilleures pratiques et les exemples.

Et le meilleur endroit pour commencer pages MVC à asp.net

Il y a aussi une tonne de questions et des entrées de wiki communautaire sur Stackoverflow sur les meilleures pratiques et les mises en page de sites Web.

Espère que cela aide

1

La réponse dépend vraiment. Cela dépend de l'échelle de votre projet. Vous pouvez tout avoir dans un projet (MVC principal) de vous pouvez le diviser plus loin. La forme canonique pour ce projet est quelque chose comme ça:

project.WEB 
project.Common (here belongs common functionality between projects, so helpers, utilities, even some extension methods belong there) 
project.Model (Data entities) 
project.BL //(Business Logic) 
project.DAL //(Data Access Layer or Persistence) 
project.Tests 

* Notez le « projet » est la racine de votre espace de noms.Comment gérer le nommage de l'espace de nom, vous pouvez le vérifier là: namespace naming conventions

Et vous pouvez le diviser de plus en plus loin. Cependant, je suggère que vous n'exagérez pas en le divisant plus loin. Quand vous aurez à le faire, vous le saurez (un projet grandit trop, il y a des séparations logiques ...). Vous essayez de suivre le principe YAGNI.

Et encore une chose. Si vous voulez être là "par le livre" vérifiez-le DDD - Domain Driven Desing: http://msdn.microsoft.com/en-us/magazine/dd419654.aspx.

+0

Ma réponse à la question fermée. C'est pourquoi je le copie ici: http://stackoverflow.com/questions/15267561/is-there-any-standard-approach-for-defining-projects-in-an-asp-net-mvc-solution/15267670#15267670 –

Questions connexes