BLL-, DAL-, OBJ- und 3-Schicht-Architektur

Meine Frage ist über die 3-Schicht-Architektur.

Mein Projekt ist kurz so ähnlich wie das Folgende. Was mich jedoch genervt hat, ist, dass ich nach dem Einfügen einer neuen Spalte in meine Datenbank alle Felder mit Ausnahme der BLL aktualisieren muss. In der Präsentationsebene habe ich ein OBJ erstellt und im DAL sowie im DAL gibt es eine SQL-Abfrage. Ich muss alle diese Felder manuell aktualisieren.

Wenn ich es auf die "normale" Weise mache, lege ich alle diese in die Präsentationsebene und aktualisiere alle an einem Ort.

Wende ich diese dreischichtige Architektur korrekt an und welche Vorteile bietet diese geschichtete Architektur?

Meine zweite Frage lautet:

Innerhalb des DAL sammle ich die Daten über _view. Was ich mich frage, sollte ich für jede Ansicht einen anderen BOboj schreiben? Ich habe bereits eine BOboj-Klasse, aber sie enthält nicht alle Felder.

Beim Einfügen von Daten muss ich mein BOboj verwenden. Wenn ich jedoch Daten aufliste, verwende ich Ansichten. Sollte ich in diesem Fall eine andere BOboj_view-Klasse für jede Ansicht oder etwas anderes erstellen? Wie geht das mit Easyies?

zum Beispiel; Ich habe 20 Ansichten und 40 Klassen, die allen Tabellen auf dem SQL Server zugeordnet sind. Meine Ansichten erfassen die Daten verschiedener Tabellen (dh verschiedene Objekte). Soll ich 20 weitere Klassen erstellen, mit Ausnahme von 40, die die Ansicht darstellen?

OBJ

class BOboj {
        private int _PId;
        private string _Name;
        .......
        .......


}

DAL

BOboj_DAL {

        public bool Add(BOboj obj)
        {
            using (SqlConnection con = Connect.connect)
            {
                string sql = "insert into Persons (Id,Name,
                 .......
                 .......
}

BBL

BOboj_BLL {

        .......
        .......
        public bool Add(BOboj_DAL obj)
        {
            BOboj_DAL bb_dal = new BOboj_DAL();
            try
            {
                return bb_dal.Ekle(obj);

            }
            catch (Exception)
            {

                throw;
            }
            finally { bb_dal = null; }

        }

        .......
        .......
}

Presantaon-Schicht

  protected void Add(object sender, DirectEventArgs e)
        {
            BOboj_BLL bll_= new BOboj_BLL ();

            BOboj  obj_ = new BOboj 
            {
                Name = Name.Text,
                ..............
                ...............

            };
            bll_.Add(obj_ );
}

Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage