Arquitectura BLL, DAL, OBJ y 3 capas.

Mi pregunta es sobre arquitectura de 3 capas.

Mi proyecto es brevemente algo como el siguiente, sin embargo, lo que me molesta después de insertar una nueva columna dentro de mi base de datos, tengo que actualizar todos los campos excepto el BLL. En la capa de presentación, creé un OBJ y también dentro de DAL plus dentro de DAL, hay una consulta SQL. Tengo que actualizar todos esos campos manualmente.

Si lo hago de la manera 'normal', pongo todos esos dentro de la capa de presentación y actualizo todo en un solo lugar.

¿Estoy aplicando esta arquitectura de 3 capas correctamente y cuáles son las ventajas de usar esta arquitectura en capas?

Mi segunda pregunta es:

Dentro del DAL, recojo los datos a través de _view. Lo que me pregunto, ¿debo escribir otro BOboj para cada vista? Ya tengo una clase BOboj pero no contiene todos los campos.

Cuando inserto datos, tengo que usar mi BOboj, sin embargo, cuando enumero datos, estoy usando vistas, en este caso, ¿debo crear otra clase BOboj_view para cada vista u otra cosa? ¿Cuál es la manera fácil de hacer eso?

por ejemplo; Tengo 20 vistas y 40 clases que se asignaron a cada tabla en el servidor sql. Mis vistas recopilan las diferentes tablas de datos (lo que significa diferentes objetos). ¿Debería crear 20 clases más, excepto las 40 que representan la vista?

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 Layer

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

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

            };
            bll_.Add(obj_ );
}

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta