Architektura BLL, DAL, OBJ i 3 warstwy

Moje pytanie dotyczy architektury trójwarstwowej.

Mój projekt jest krótko podobny do poniższego, jednak to, co mnie denerwuje, to po umieszczeniu nowej kolumny w mojej bazie danych, muszę zaktualizować te wszystkie pola z wyjątkiem BLL. W warstwie prezentacji utworzyłem OBJ, a także wewnątrz DAL plus wewnątrz DAL, istnieje zapytanie SQL. Muszę ręcznie zaktualizować wszystkie te pola.

Jeśli zrobię to w „normalny” sposób, umieściłem wszystkich w warstwie prezentacji i zaktualizuję wszystko w jednym miejscu.

Czy prawidłowo stosuję tę 3-warstwową architekturę i jakie są zalety korzystania z tej warstwowej architektury?

Moje drugie pytanie to:

Wewnątrz DAL zbieram dane przez _view. Zastanawiam się, czy powinienem napisać kolejny BOboj na każdy widok? Mam już klasę BOboj, ale nie zawiera ona wszystkich pól.

Wstawiając dane, muszę użyć mojego BObojka, jednak, kiedy wymieniam dane, używam widoków, w tym przypadku powinienem utworzyć kolejną klasę BOboj_view dla każdego widoku lub coś innego ?? jaki jest sposób, by to zrobić?

na przykład; Mam 20 widoków i 40 klas, które mapowały do ​​wszystkich tabel na serwerze sql. Moje widoki zbierają różne tabele danych (to znaczy różne obiekty). Czy powinienem utworzyć 20 dodatkowych klas z wyjątkiem 40, które reprezentują widok?

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; }

        }

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

Warstwa Presantaon

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

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

            };
            bll_.Add(obj_ );
}

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion