0

Ich habe eine ASP.NET MVC-Anwendung, die Linq zu SQL-Klassen im Ordner Modell verwendet.Wo sollte ich zusätzliche Klassen in meiner MVC-Anwendung platzieren

Ich möchte einige zusätzliche Klassen erstellen, die ich normalerweise in meinem BLL platzieren würde, aber ich bin mir nicht sicher, wie das mit MVC funktioniert.

Mit WebForms hätte ich meine DAL als eine Klassenbibliothek. Meine BLL als eine Klassenbibliothek, die meine BLL referenzierte. Meine Website, die sowohl die DAL als auch die BLL referenzierte.

Das Problem, mit dem ich konfrontiert bin, ist, wenn ich eine Klassenbibliothek erstellen, muss dies meine MVC-Anwendung verweisen, weil es die Typen in meinem Modell verwenden müssen.

Wenn ich dann einen Verweis auf meine Klassenbibliothek hinzufügen (oder versuchen, einen Verweis hinzuzufügen), erhalte ich eine zirkuläre Abhängigkeit.

In Web Forms. Meine andere Option wäre, die Klassen im App_Code zu platzieren. Gibt es in einer MVC-Anwendung ein Äquivalent von App_Code?

Antwort

2

Sie können alle Ihre Modelle in die Klassenbibliothek verschieben, nicht wahr? Weder MVC noch VS kümmern sich. Dadurch wird die Abhängigkeit der Modellbibliothek in der Webanwendung aufgehoben.

2

Sie können das im Modellordner platzieren. Da alle geschäftsbezogenen Klassen in diesen Ordner fallen

Für bessere Praxis siehe die scottgu die nerddinner Beispiele. Er hat die Atmungsklassen in nerdinner Anwendung erstellt.

+0

danke für die scottgu tipp. "Sie können das in der Modellklasse platzieren" Meinten Sie Modellordner? –

1

Ich stimme in Bezug auf die Modell Ordner. Sie können es nach Herzenslust organisieren (BLL, DAL usw.).

Ich persönlich würde vermeiden, eine separate Montage zu tun, wenn Sie einen zwingenden Grund haben. Da ich die Art von Entwickler bin, der dazu neigt, Probleme zu komplizieren, wenn ich nicht aufpasse, versuche ich, die KISS (Keep It Simple Stupid) -Praktiken so gut wie möglich zu verfolgen, was dazu neigt, mich aus einer gewissen Menge von Schwierigkeiten herauszuhalten.

Verwandte Themen