none
Dudas con Programacion NCapas RRS feed

  • Pregunta

  • Estoy haciendo Mudando una aplicacion vb.net a C# con ncapas, los procedimientos almacenados y las consultas sin ningun problema las pude hacer en clases pero miren estos dos ejemplos que tenia en mi aplicacion vb.net y que ahora quiero poner en c#, estos metodos hacen referencia directa a controles que se encuentran en mi formulario, textbox, maskedtextbox etc, seria necesario crear clases para agregar estos metodos usando modelo de capas o en el modelo de capas este tipo de metodos se utilizan dentro del formulario correspondiente, gracias espero me haya dado a entender

    Public Sub crear_id_Estudiante()
            Try
                Dim paterno As String = txtapellidopaterno.Text.Substring(0, 2)
                Dim materno As String
                If txtapellidomaterno.Text.Length = 0 Then
                    materno = ""
                Else
                    materno = txtapellidomaterno.Text.Substring(0, 2)
                End If
                Dim nombre As String = txtnombre.Text.Substring(0, 2)
                If materno = "" Then
                    txtidvisitante.Text = paterno & nombre
                Else
                    txtidvisitante.Text = paterno & materno & nombre
                End If
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub

     Private Sub mtbtelefono_parentesco_Leave() Handles mtbtelefonocelular.Leave,
    mtbtelefonoresidencial.Leave
    
            If mtbtelefonocelular.MaskFull = False Then
                Me.mtbtelefonocelular.Clear()
                Me.mtbtelefonocelular.Mask = ""
            End If
    
            If mtbtelefonoresidencial.MaskFull = False Then
                Me.mtbtelefonoresidencial.Clear()
                Me.mtbtelefonoresidencial.Mask = ""
            End If
    
        End Sub

    sábado, 9 de junio de 2018 14:14

Respuestas

  • Con una programación en capas, cualquier método que acceda a los controles del formulario es siempre parte de la capa de Presentación.

    Eso no significa que el método no pueda realizar llamadas a otras capas inferiores, por ejemplo, cuando se necesite un valor para presentarlo en un control, el método podría obtener ese valor desde la capa de negocio.

    El hecho de que todos los métodos en cuestión sean parte de la capa de presentación no significa que no puedan encontrarse en distintas clases cuando sea conveniente. Una capa puede contener muchas clases (y de hecho es frecuente que así sea).

    Si lo que te preocupa es organizar de forma ordenada la capa de presentación, puedes estructurarla aplicando algún patrón tal como MVC, MVP o MVVM. De conformidad con el patrón elegido, las partes de la interfaz se separan en clases (por ejemplo, si usas MVVM tienes el Modelo, el VistaModelo y la Vista). El conjunto de todas esas clases seguiría constituyendo la capa de Presentación de tu aplicación desarrollada en capas.

    • Marcado como respuesta Efrain Diaz sábado, 9 de junio de 2018 16:49
    sábado, 9 de junio de 2018 16:01
    Moderador

Todas las respuestas

  • Con una programación en capas, cualquier método que acceda a los controles del formulario es siempre parte de la capa de Presentación.

    Eso no significa que el método no pueda realizar llamadas a otras capas inferiores, por ejemplo, cuando se necesite un valor para presentarlo en un control, el método podría obtener ese valor desde la capa de negocio.

    El hecho de que todos los métodos en cuestión sean parte de la capa de presentación no significa que no puedan encontrarse en distintas clases cuando sea conveniente. Una capa puede contener muchas clases (y de hecho es frecuente que así sea).

    Si lo que te preocupa es organizar de forma ordenada la capa de presentación, puedes estructurarla aplicando algún patrón tal como MVC, MVP o MVVM. De conformidad con el patrón elegido, las partes de la interfaz se separan en clases (por ejemplo, si usas MVVM tienes el Modelo, el VistaModelo y la Vista). El conjunto de todas esas clases seguiría constituyendo la capa de Presentación de tu aplicación desarrollada en capas.

    • Marcado como respuesta Efrain Diaz sábado, 9 de junio de 2018 16:49
    sábado, 9 de junio de 2018 16:01
    Moderador
  • Hola, por lo que veo uno de los objetos de tu sistema debería se Estudiante. Un posible diseño consiste en que tengas una clase en la capa de datos, por ej. DAEstudiante, otra clase en la capa de negocions, por ej. BOEstudiante y en la capa de presentación consumes los objetos de tipo BOEstudiante en cada uno de los forms en los que se necesite manipular datos de uno o más estudiantes. La función Crear_id deberías crearla en la clase BOEstudinate al momento de guardar un nuevo estudiante y en la capa de negocios no deberías mostrar ese dato, porque no debería se necesario ya que es solo un nro que se usa en la base de datos para identificarlo.
    • Editado AntiWork sábado, 9 de junio de 2018 17:11
    sábado, 9 de junio de 2018 17:10