Buenas, estoy desarrollando una pequeña aplicación en c# .net 4.0 con una arquitectura en 3 capas, de la siguiente manera.
El proyecto "Windows Forms" Principal (Capa Interfaz)
El proyecto "Windows Library" Logica
El proyecto "Windows Library" Entidades (Los dos representarian la capa de Negocio)
El proyecto "Windows Library" Datos (Capa Datos)
En Entidades tengo clases que contienen atributos, propiedades, campos y algun que otro metodo sencillo
(Cliente, Factura, etc).
En Logica hasta ahora agrege las clases que realizarian las operaciones de buscar y o muchos clientes, facturas, etc; agregar, actualizar y eliminar.
En Data tengo las clases que realizan la interacción con la db, conexcion, comandos SQL, transacciones, etc.
Ahora tengo una super duda, En la Interfaz(I) agrego una instancia de la Entidad(E) para cargar los datos estilo ABM,
pero si es esa entidad tengo una propiedad Ciudad (donde Ciudad es una clase, entidad y logica)
donde tendria que agregar la funcionalidad de buscar y asignar la ciudad seleccionada a la instancia de la entidad Cliente
Ej:
Código:
namespace Entidades
{
public class Cliente
{
public Cliente()
{
}
private string _Nombre = string.Empty ;
public string Nombre
{
get{return _Nombre;}
set{_Nombre = value;}
}
private Ciudad _Ciudad = null;
public Ciudad Ciudad
{
get{return _Ciudad;}
set{_Ciudad = value;}
}
}
public class Ciudad
{
public Ciudad()
{
}
private int _CodigoPostal = 0 ;
public int CodigoPostal
{
get{return _CodigoPostal;}
set{_CodigoPostal = value;}
}
private string _Descripcion = string.Empty ;
public string Descripcion
{
get{return _Descripcion;}
set{_Descripcion = value;}
}
}
}
Si la arquitectura que estoy planteando no es correcta, cual seria una adecuada ?
Muchas gracias