El grupo al cual envías entradas es un grupo Usenet. Si envías mensajes a este grupo, cualquier usuario de Internet podrá ver tu dirección de correo electrónico
Resulta que tengo que registrar la asistencia (ingresos y salidas) del personal, entre los objetos que identifique, se encuentran
Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y HorarioVariable, que luego de factorizar de estos dos extraigo un HorarioGeneral, del cual los dos anteriores Heredan.
Hasta aqui todo bien, veo una relacion de uno a uno existente entre Empleado y Horario Al presentarle en pantalla al usuario para que asigne un horario especifico al empleado, este puede asignarle cualquiera de los dos tipos de horarios, por lo cual no se de que forma hacer esta relacion entre Empleado y Horario
No quiero tener algo asi
public class Empleado { .. public virtual HorarioFijo {get; set;} public virtual HorarioVariable {get; set;} ..
}
tener una variable del tipo HorarioGeneral, internamente no poseo el resto de propiedades de sus clases hijas
O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un horario (el que sea) tiene cero o mas empleados asignados ?
Primero, lo que yo haria seria registrar entradas y salidas. Luego, no entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero no quiero imaginar, podrias explicar en que momento se utilizan esos objetos? Y la diferencia de conducta que esperas obtener?
> Resulta que tengo que registrar la asistencia (ingresos y salidas) del > personal, entre los objetos que identifique, se encuentran
> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y > HorarioVariable, que luego de factorizar de estos dos extraigo > un HorarioGeneral, del cual los dos anteriores Heredan.
> Hasta aqui todo bien, veo una relacion de uno a uno existente entre > Empleado y Horario > Al presentarle en pantalla al usuario para que asigne un horario especifico > al empleado, este puede asignarle cualquiera de los dos > tipos de horarios, por lo cual no se de que forma hacer esta relacion > entre Empleado y Horario
> No quiero tener algo asi
> public class Empleado { > .. > public virtual HorarioFijo {get; set;} > public virtual HorarioVariable {get; set;} > .. > }
> tener una variable del tipo HorarioGeneral, internamente no poseo el resto > de propiedades de sus clases hijas
> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un > horario (el que sea) tiene cero o mas > empleados asignados ?
> Sus comentarios me son de gran ayuda
> Saludos
> Edgar
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no > entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o > variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero > no quiero imaginar, podrias explicar en que momento se utilizan esos > objetos? Y la diferencia de conducta que esperas obtener?
>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >> personal, entre los objetos que identifique, se encuentran
>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >> HorarioVariable, que luego de factorizar de estos dos extraigo >> un HorarioGeneral, del cual los dos anteriores Heredan.
>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >> Empleado y Horario >> Al presentarle en pantalla al usuario para que asigne un horario >> especifico al empleado, este puede asignarle cualquiera de los dos >> tipos de horarios, por lo cual no se de que forma hacer esta relacion >> entre Empleado y Horario
>> No quiero tener algo asi
>> public class Empleado { >> .. >> public virtual HorarioFijo {get; set;} >> public virtual HorarioVariable {get; set;} >> .. >> }
>> tener una variable del tipo HorarioGeneral, internamente no poseo el resto >> de propiedades de sus clases hijas
>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un >> horario (el que sea) tiene cero o mas >> empleados asignados ?
>> Sus comentarios me son de gran ayuda
>> Saludos
>> Edgar
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
public class Empleado{ public virtual Horario Horario {get;set;}
}
Y luego por ejemplo tener un HorarioViewModel que tenga todas las propiedades de HorarioFijo y HorarioVariable, y un HorarioFactory ( http://en.wikipedia.org/wiki/Factory_method_pattern) que reciba el ViewModel y te devuelva las instancias de HorarioFijo o HorarioVariable según una propiedad bool del ViewModel bindeada a un Option de tu vista.
Eso es lo que se me ocurre, pero seguro aparece alguno con una mejor solución y aprendemos todos :D
Saludos,
El 19 de octubre de 2010 10:08, Juan Nallar <nallar.j...@gmail.com>escribió:
> Podrias usar una interfaz IHorario, implementada por los dos tipos de > horario.
> El empleado entonces tendría una propiedad the tipo IHorario, a la que > podes asignarle cualquiera de los 2 :)
> Espero que te sirva.
> Aprovecho para saludar a la comunidad.
> El 19 de octubre de 2010 09:34, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
> Hola gente!
>> Interesante, Edgar.
>> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no >> entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o >> variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero >> no quiero imaginar, podrias explicar en que momento se utilizan esos >> objetos? Y la diferencia de conducta que esperas obtener?
>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>> personal, entre los objetos que identifique, se encuentran
>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>> HorarioVariable, que luego de factorizar de estos dos extraigo >>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>> Empleado y Horario >>> Al presentarle en pantalla al usuario para que asigne un horario >>> especifico al empleado, este puede asignarle cualquiera de los dos >>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>> entre Empleado y Horario
>>> No quiero tener algo asi
>>> public class Empleado { >>> .. >>> public virtual HorarioFijo {get; set;} >>> public virtual HorarioVariable {get; set;} >>> .. >>> }
>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>> resto de propiedades de sus clases hijas
>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>> un horario (el que sea) tiene cero o mas >>> empleados asignados ?
>>> Sus comentarios me son de gran ayuda
>>> Saludos
>>> Edgar
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
-- Saludos,
Walter G. Poch Sr. .Net Developer -------------------------------------------- Cell: +54 (9 341) 3353273 walter.p...@gmail.com
Igual pregunto, porque si estuviera en un modelo que he conocido en una aplicacion, en mi caso, un empleado podria tener HorarioVariable desde que entro a trabajar hasta el 15 de Octubre, y desde ahi tener HorarioFijo.
Puede que sea asi: hay una Especificacion, por rango de dias (o tal vez para los dias Martes y Miercoles, no se) que indicara algo como: este dia tal, digamos Martes 10 de Octubre, el empleado Jose que sabemos que entro a la hora X y salio a la hora Y, no/si cumple con la Especificacion E. La especificacion puede decir:
- El empleado tiene que trabajar 8hs - El empleado tiene que trabajar de 9 a 18hs - El empleado es el hijo del duenio y puede hacer lo que quiera :-)
O quizas especificaciones como
- El empleado tiene que trabajar 40hs por semana, no importa como
O especificaciones como (me pasa en aplicaciones de choferes)
- El empleado tiene que trabajar minimo 20hs por semana, maximo 40hs, pero no puede trabajar mas de 12hs seguidas
Por eso pregunto, a Edgar: en que caso se usa luego HorarioFijo y HorarioVariable? En que caso de uso da distinto tener uno u otro?
> public class Empleado{ > public virtual Horario Horario {get;set;} > }
> Y luego por ejemplo tener un HorarioViewModel que tenga todas las > propiedades de HorarioFijo y HorarioVariable, y un HorarioFactory ( > http://en.wikipedia.org/wiki/Factory_method_pattern) que reciba el > ViewModel y te devuelva las instancias de HorarioFijo o HorarioVariable > según una propiedad bool del ViewModel bindeada a un Option de tu vista.
> Eso es lo que se me ocurre, pero seguro aparece alguno con una mejor > solución y aprendemos todos :D
> Saludos,
> El 19 de octubre de 2010 10:08, Juan Nallar <nallar.j...@gmail.com>escribió:
> Hola Edgar.
>> Podrias usar una interfaz IHorario, implementada por los dos tipos de >> horario.
>> El empleado entonces tendría una propiedad the tipo IHorario, a la que >> podes asignarle cualquiera de los 2 :)
>> Espero que te sirva.
>> Aprovecho para saludar a la comunidad.
>> El 19 de octubre de 2010 09:34, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
>> Hola gente!
>>> Interesante, Edgar.
>>> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no >>> entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o >>> variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero >>> no quiero imaginar, podrias explicar en que momento se utilizan esos >>> objetos? Y la diferencia de conducta que esperas obtener?
>>>> Tengo una confusion con el siguiente contexto
>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>> personal, entre los objetos que identifique, se encuentran
>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>> Empleado y Horario >>>> Al presentarle en pantalla al usuario para que asigne un horario >>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>> entre Empleado y Horario
>>>> No quiero tener algo asi
>>>> public class Empleado { >>>> .. >>>> public virtual HorarioFijo {get; set;} >>>> public virtual HorarioVariable {get; set;} >>>> .. >>>> }
>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>> resto de propiedades de sus clases hijas
>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>> un horario (el que sea) tiene cero o mas >>>> empleados asignados ?
>>>> Sus comentarios me son de gran ayuda
>>>> Saludos
>>>> Edgar
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Saludos,
> Walter G. Poch > Sr. .Net Developer > -------------------------------------------- > Cell: +54 (9 341) 3353273 > walter.p...@gmail.com
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Creo que es clave la pregunta que hizo Angel: cual es el codigo dentro de tu clase Empleado que querrias que funcione de una manera u otra de acuerdo al tipo de horario?
Yo (aunque con informacion limitada) veo una candidatura para resolver esto mediante el patron State (GoF), en cuyo caso el codigo "diferente" estaria dentro de las subclases de HorarioGeneral en lugar de estar sobre empleado.
> Resulta que tengo que registrar la asistencia (ingresos y salidas) del > personal, entre los objetos que identifique, se encuentran
> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y > HorarioVariable, que luego de factorizar de estos dos extraigo > un HorarioGeneral, del cual los dos anteriores Heredan.
> Hasta aqui todo bien, veo una relacion de uno a uno existente entre > Empleado y Horario > Al presentarle en pantalla al usuario para que asigne un horario especifico > al empleado, este puede asignarle cualquiera de los dos > tipos de horarios, por lo cual no se de que forma hacer esta relacion > entre Empleado y Horario
> No quiero tener algo asi
> public class Empleado { > .. > public virtual HorarioFijo {get; set;} > public virtual HorarioVariable {get; set;} > .. > }
> tener una variable del tipo HorarioGeneral, internamente no poseo el resto > de propiedades de sus clases hijas
> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un > horario (el que sea) tiene cero o mas > empleados asignados ?
> Sus comentarios me son de gran ayuda
> Saludos
> Edgar
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Gracias gente, por eso me encanta esta lista, no es si no preguntar y obtengo respuesta, bueno
Angel ---- que un empleado tenga horario fijo o variable ----
Se logro identificar lo siguiente, existen empleados que ingresan a trabajar
1.- medio dia de 08:00 a 13:00 2.- jornada completa 08:00, 13:00, 14:00, 18:00, 13 y 14 son horas de salida e ingreso de la comida 3.- un empleado (familiar del dueño que estudia) que viene a trabajar durante el día a la hora que pueda, pero se le exije que cumpla algunas horas diarias de trabajo
Obviamente para cada empleado con su horario respectivo se verifica sus horas laborales, atrasos, etc, tal cual lo comentas,
Espero haberme explicado bien, sigo analizando lo que me comentan
El 19 de octubre de 2010 07:34, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no > entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o > variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero > no quiero imaginar, podrias explicar en que momento se utilizan esos > objetos? Y la diferencia de conducta que esperas obtener?
>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >> personal, entre los objetos que identifique, se encuentran
>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >> HorarioVariable, que luego de factorizar de estos dos extraigo >> un HorarioGeneral, del cual los dos anteriores Heredan.
>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >> Empleado y Horario >> Al presentarle en pantalla al usuario para que asigne un horario >> especifico al empleado, este puede asignarle cualquiera de los dos >> tipos de horarios, por lo cual no se de que forma hacer esta relacion >> entre Empleado y Horario
>> No quiero tener algo asi
>> public class Empleado { >> .. >> public virtual HorarioFijo {get; set;} >> public virtual HorarioVariable {get; set;} >> .. >> }
>> tener una variable del tipo HorarioGeneral, internamente no poseo el resto >> de propiedades de sus clases hijas
>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un >> horario (el que sea) tiene cero o mas >> empleados asignados ?
>> Sus comentarios me son de gran ayuda
>> Saludos
>> Edgar
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Me falto comentar que mi caso horario variable, es aplicado unicamente a aquellos empleados que no se sabe su ingreso ni salida (si este caso es para familiares) pero diariamente cumplen horas especificas de trabajo
Saludos
El 19 de octubre de 2010 08:42, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
> Igual pregunto, porque si estuviera en un modelo que he conocido en una > aplicacion, en mi caso, un empleado podria tener HorarioVariable desde que > entro a trabajar hasta el 15 de Octubre, y desde ahi tener HorarioFijo.
> Puede que sea asi: hay una Especificacion, por rango de dias (o tal vez > para los dias Martes y Miercoles, no se) que indicara algo como: este dia > tal, digamos Martes 10 de Octubre, el empleado Jose que sabemos que entro a > la hora X y salio a la hora Y, no/si cumple con la Especificacion E. La > especificacion puede decir:
> - El empleado tiene que trabajar 8hs > - El empleado tiene que trabajar de 9 a 18hs > - El empleado es el hijo del duenio y puede hacer lo que quiera :-)
> O quizas especificaciones como
> - El empleado tiene que trabajar 40hs por semana, no importa como
> O especificaciones como (me pasa en aplicaciones de choferes)
> - El empleado tiene que trabajar minimo 20hs por semana, maximo 40hs, pero > no puede trabajar mas de 12hs seguidas
> Por eso pregunto, a Edgar: en que caso se usa luego HorarioFijo y > HorarioVariable? En que caso de uso da distinto tener uno u otro?
>> <http://elvex.ugr.es/idbis/db/docs/design/4-heuristics.pdf>Si la clase >> general de Horario y sus dos hijas HorarioFijo HorarioVariable la cumplen, y >> un Empleado tiene SOLO una de las dos asignadas creo que podrías hacer:
>> public class Empleado{ >> public virtual Horario Horario {get;set;} >> }
>> Y luego por ejemplo tener un HorarioViewModel que tenga todas las >> propiedades de HorarioFijo y HorarioVariable, y un HorarioFactory ( >> http://en.wikipedia.org/wiki/Factory_method_pattern) que reciba el >> ViewModel y te devuelva las instancias de HorarioFijo o HorarioVariable >> según una propiedad bool del ViewModel bindeada a un Option de tu vista.
>> Eso es lo que se me ocurre, pero seguro aparece alguno con una mejor >> solución y aprendemos todos :D
>> Saludos,
>> El 19 de octubre de 2010 10:08, Juan Nallar <nallar.j...@gmail.com>escribió:
>> Hola Edgar.
>>> Podrias usar una interfaz IHorario, implementada por los dos tipos de >>> horario.
>>> El empleado entonces tendría una propiedad the tipo IHorario, a la que >>> podes asignarle cualquiera de los 2 :)
>>> Espero que te sirva.
>>> Aprovecho para saludar a la comunidad.
>>> El 19 de octubre de 2010 09:34, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
>>> Hola gente!
>>>> Interesante, Edgar.
>>>> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no >>>> entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o >>>> variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero >>>> no quiero imaginar, podrias explicar en que momento se utilizan esos >>>> objetos? Y la diferencia de conducta que esperas obtener?
>>>> 2010/10/19 Edgar Ramos <eramose...@gmail.com>
>>>> Gente un saludo,
>>>>> Tengo una confusion con el siguiente contexto
>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>>> personal, entre los objetos que identifique, se encuentran
>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>> Empleado y Horario >>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>>> entre Empleado y Horario
>>>>> No quiero tener algo asi
>>>>> public class Empleado { >>>>> .. >>>>> public virtual HorarioFijo {get; set;} >>>>> public virtual HorarioVariable {get; set;} >>>>> .. >>>>> }
>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>> resto de propiedades de sus clases hijas
>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>>> un horario (el que sea) tiene cero o mas >>>>> empleados asignados ?
>>>>> Sus comentarios me son de gran ayuda
>>>>> Saludos
>>>>> Edgar
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Saludos,
>> Walter G. Poch >> Sr. .Net Developer >> -------------------------------------------- >> Cell: +54 (9 341) 3353273 >> walter.p...@gmail.com
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Aquellos empleados que sabemos tienen uno o mas ingresos o salidas en el dia son candidatos a un horario fijo Un empleado tiene uno y solo un horario, pudiendo ser este fijo o variable
Saludos
El 19 de octubre de 2010 08:42, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
> Igual pregunto, porque si estuviera en un modelo que he conocido en una > aplicacion, en mi caso, un empleado podria tener HorarioVariable desde que > entro a trabajar hasta el 15 de Octubre, y desde ahi tener HorarioFijo.
> Puede que sea asi: hay una Especificacion, por rango de dias (o tal vez > para los dias Martes y Miercoles, no se) que indicara algo como: este dia > tal, digamos Martes 10 de Octubre, el empleado Jose que sabemos que entro a > la hora X y salio a la hora Y, no/si cumple con la Especificacion E. La > especificacion puede decir:
> - El empleado tiene que trabajar 8hs > - El empleado tiene que trabajar de 9 a 18hs > - El empleado es el hijo del duenio y puede hacer lo que quiera :-)
> O quizas especificaciones como
> - El empleado tiene que trabajar 40hs por semana, no importa como
> O especificaciones como (me pasa en aplicaciones de choferes)
> - El empleado tiene que trabajar minimo 20hs por semana, maximo 40hs, pero > no puede trabajar mas de 12hs seguidas
> Por eso pregunto, a Edgar: en que caso se usa luego HorarioFijo y > HorarioVariable? En que caso de uso da distinto tener uno u otro?
>> <http://elvex.ugr.es/idbis/db/docs/design/4-heuristics.pdf>Si la clase >> general de Horario y sus dos hijas HorarioFijo HorarioVariable la cumplen, y >> un Empleado tiene SOLO una de las dos asignadas creo que podrías hacer:
>> public class Empleado{ >> public virtual Horario Horario {get;set;} >> }
>> Y luego por ejemplo tener un HorarioViewModel que tenga todas las >> propiedades de HorarioFijo y HorarioVariable, y un HorarioFactory ( >> http://en.wikipedia.org/wiki/Factory_method_pattern) que reciba el >> ViewModel y te devuelva las instancias de HorarioFijo o HorarioVariable >> según una propiedad bool del ViewModel bindeada a un Option de tu vista.
>> Eso es lo que se me ocurre, pero seguro aparece alguno con una mejor >> solución y aprendemos todos :D
>> Saludos,
>> El 19 de octubre de 2010 10:08, Juan Nallar <nallar.j...@gmail.com>escribió:
>> Hola Edgar.
>>> Podrias usar una interfaz IHorario, implementada por los dos tipos de >>> horario.
>>> El empleado entonces tendría una propiedad the tipo IHorario, a la que >>> podes asignarle cualquiera de los 2 :)
>>> Espero que te sirva.
>>> Aprovecho para saludar a la comunidad.
>>> El 19 de octubre de 2010 09:34, Angel Java Lopez <ajlopez2...@gmail.com>escribió:
>>> Hola gente!
>>>> Interesante, Edgar.
>>>> Primero, lo que yo haria seria registrar entradas y salidas. Luego, no >>>> entiendo en que lugar juega en tu caso, que un empleado tenga horario fijo o >>>> variable. Me lo imagino (por ejemplo, para calcular ausentismo, etc..), pero >>>> no quiero imaginar, podrias explicar en que momento se utilizan esos >>>> objetos? Y la diferencia de conducta que esperas obtener?
>>>> 2010/10/19 Edgar Ramos <eramose...@gmail.com>
>>>> Gente un saludo,
>>>>> Tengo una confusion con el siguiente contexto
>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>>> personal, entre los objetos que identifique, se encuentran
>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>> Empleado y Horario >>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>>> entre Empleado y Horario
>>>>> No quiero tener algo asi
>>>>> public class Empleado { >>>>> .. >>>>> public virtual HorarioFijo {get; set;} >>>>> public virtual HorarioVariable {get; set;} >>>>> .. >>>>> }
>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>> resto de propiedades de sus clases hijas
>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>>> un horario (el que sea) tiene cero o mas >>>>> empleados asignados ?
>>>>> Sus comentarios me son de gran ayuda
>>>>> Saludos
>>>>> Edgar
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Saludos,
>> Walter G. Poch >> Sr. .Net Developer >> -------------------------------------------- >> Cell: +54 (9 341) 3353273 >> walter.p...@gmail.com
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Hola Edgar. Si entendí bien tus requisitos, son los siguientes:
1.- Una persona tiene siempre *un solo* horario (digamos que estamos interesados en el horario actual y no en pasados o futuribles). 2.- Dicho horario puede ser fijo o variable. 3.- Nada impide que dos personas compartan un mismo horario (es habitual).
Si es así como resumí, lo modelaría del siguiente modo:
Como comentaba Juan Nallar o Walter, implementar Horario como una interfaz (IHorario) te permite llegar a montar una unica propiedad, que es lo que uno espera desde el punto de vista conceptual:
public class Empleado { .. public virtual IHorario Horario {get; set;} ..
}
Obviamente, la parte común del horario (propiedades comunes) estarán disponibles en la signatura de IHorario. Sin embargo, en algún momento tal vez tengas que especializar tus algoritmos para tratar de modo diferente un HorarioFijo respecto a un HorarioVariable. O bien definir métodos o propiedades comunes en la signatura de la interfaz como por ejemplo:
public interface IHorario { ... int HorasTotalesSemanales {get; } ...
}
Donde la implementación de esta propiedad deriva sera, a todas luces, diferente en cada implementación de horario y podrás usarlos de modo genérico gracias al polimorfismo.
> Resulta que tengo que registrar la asistencia (ingresos y salidas) del > personal, entre los objetos que identifique, se encuentran
> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y > HorarioVariable, que luego de factorizar de estos dos extraigo > un HorarioGeneral, del cual los dos anteriores Heredan.
> Hasta aqui todo bien, veo una relacion de uno a uno existente entre > Empleado y Horario > Al presentarle en pantalla al usuario para que asigne un horario especifico > al empleado, este puede asignarle cualquiera de los dos > tipos de horarios, por lo cual no se de que forma hacer esta relacion > entre Empleado y Horario
> No quiero tener algo asi
> public class Empleado { > .. > public virtual HorarioFijo {get; set;} > public virtual HorarioVariable {get; set;} > .. > }
> tener una variable del tipo HorarioGeneral, internamente no poseo el resto > de propiedades de sus clases hijas
> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un > horario (el que sea) tiene cero o mas > empleados asignados ?
> Sus comentarios me son de gran ayuda
> Saludos
> Edgar
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Se corto el enlace al diagrama<http://yuml.me/diagram/scruffy/class/[Empleado]0..*-%3C%3EHorario-1:1[Horario],%20[Horario]%5E-[HorarioFijo],%20 [Horario]%5E-[HorarioVariable]> .
El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
> Hola Edgar. > Si entendí bien tus requisitos, son los siguientes:
> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos > interesados en el horario actual y no en pasados o futuribles). > 2.- Dicho horario puede ser fijo o variable. > 3.- Nada impide que dos personas compartan un mismo horario (es habitual).
> Si es así como resumí, lo modelaría del siguiente modo:
> Como comentaba Juan Nallar o Walter, implementar Horario como una interfaz > (IHorario) te permite llegar a montar una unica propiedad, que es lo que uno > espera desde el punto de vista conceptual:
> public class Empleado { > .. > public virtual IHorario Horario {get; set;} > .. > }
> Obviamente, la parte común del horario (propiedades > comunes) estarán disponibles en la signatura de IHorario. > Sin embargo, en algún momento tal vez tengas que especializar tus > algoritmos para tratar de modo diferente un HorarioFijo respecto a un > HorarioVariable. > O bien definir métodos o propiedades comunes en la signatura de la interfaz > como por ejemplo:
> public interface IHorario { > ... > int HorasTotalesSemanales {get; } > ... > }
> Donde la implementación de esta propiedad deriva sera, a todas luces, > diferente en cada implementación de horario y podrás usarlos de > modo genérico gracias al polimorfismo.
> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
> Gente un saludo,
>> Tengo una confusion con el siguiente contexto
>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >> personal, entre los objetos que identifique, se encuentran
>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >> HorarioVariable, que luego de factorizar de estos dos extraigo >> un HorarioGeneral, del cual los dos anteriores Heredan.
>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >> Empleado y Horario >> Al presentarle en pantalla al usuario para que asigne un horario >> especifico al empleado, este puede asignarle cualquiera de los dos >> tipos de horarios, por lo cual no se de que forma hacer esta relacion >> entre Empleado y Horario
>> No quiero tener algo asi
>> public class Empleado { >> .. >> public virtual HorarioFijo {get; set;} >> public virtual HorarioVariable {get; set;} >> .. >> }
>> tener una variable del tipo HorarioGeneral, internamente no poseo el resto >> de propiedades de sus clases hijas
>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, un >> horario (el que sea) tiene cero o mas >> empleados asignados ?
>> Sus comentarios me son de gran ayuda
>> Saludos
>> Edgar
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que decribes es el mío, por cierto el grafico no se puede ver ni en el primero correo ni en el segundo, pero te capte la idea
Muchas gracias
El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
> Hola Edgar. >> Si entendí bien tus requisitos, son los siguientes:
>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >> interesados en el horario actual y no en pasados o futuribles). >> 2.- Dicho horario puede ser fijo o variable. >> 3.- Nada impide que dos personas compartan un mismo horario (es habitual).
>> Si es así como resumí, lo modelaría del siguiente modo:
>> Como comentaba Juan Nallar o Walter, implementar Horario como una interfaz >> (IHorario) te permite llegar a montar una unica propiedad, que es lo que uno >> espera desde el punto de vista conceptual:
>> public class Empleado { >> .. >> public virtual IHorario Horario {get; set;} >> .. >> }
>> Obviamente, la parte común del horario (propiedades >> comunes) estarán disponibles en la signatura de IHorario. >> Sin embargo, en algún momento tal vez tengas que especializar tus >> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >> HorarioVariable. >> O bien definir métodos o propiedades comunes en la signatura de la >> interfaz como por ejemplo:
>> public interface IHorario { >> ... >> int HorasTotalesSemanales {get; } >> ... >> }
>> Donde la implementación de esta propiedad deriva sera, a todas luces, >> diferente en cada implementación de horario y podrás usarlos de >> modo genérico gracias al polimorfismo.
>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>> Gente un saludo,
>>> Tengo una confusion con el siguiente contexto
>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>> personal, entre los objetos que identifique, se encuentran
>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>> HorarioVariable, que luego de factorizar de estos dos extraigo >>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>> Empleado y Horario >>> Al presentarle en pantalla al usuario para que asigne un horario >>> especifico al empleado, este puede asignarle cualquiera de los dos >>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>> entre Empleado y Horario
>>> No quiero tener algo asi
>>> public class Empleado { >>> .. >>> public virtual HorarioFijo {get; set;} >>> public virtual HorarioVariable {get; set;} >>> .. >>> }
>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>> resto de propiedades de sus clases hijas
>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>> un horario (el que sea) tiene cero o mas >>> empleados asignados ?
>>> Sus comentarios me son de gran ayuda
>>> Saludos
>>> Edgar
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Edgar aquí se ve el "UML"<http://yuml.me/diagram/scruffy/class/[Empleado]0..*-<>Horario-1:1[Horario], [Horario]^-[HorarioFijo], [Horario]^-[HorarioVariable]>
Saludos,
El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com> escribió:
> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que > decribes es el mío, por cierto el grafico no se puede ver ni en el primero > correo ni en el segundo, pero te capte la idea
> Muchas gracias
> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
> Se corto el enlace al diagrama.
>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>> Hola Edgar. >>> Si entendí bien tus requisitos, son los siguientes:
>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>> interesados en el horario actual y no en pasados o futuribles). >>> 2.- Dicho horario puede ser fijo o variable. >>> 3.- Nada impide que dos personas compartan un mismo horario (es >>> habitual).
>>> Si es así como resumí, lo modelaría del siguiente modo:
>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>> lo que uno espera desde el punto de vista conceptual:
>>> public class Empleado { >>> .. >>> public virtual IHorario Horario {get; set;} >>> .. >>> }
>>> Obviamente, la parte común del horario (propiedades >>> comunes) estarán disponibles en la signatura de IHorario. >>> Sin embargo, en algún momento tal vez tengas que especializar tus >>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>> HorarioVariable. >>> O bien definir métodos o propiedades comunes en la signatura de la >>> interfaz como por ejemplo:
>>> public interface IHorario { >>> ... >>> int HorasTotalesSemanales {get; } >>> ... >>> }
>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>> diferente en cada implementación de horario y podrás usarlos de >>> modo genérico gracias al polimorfismo.
>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>> Gente un saludo,
>>>> Tengo una confusion con el siguiente contexto
>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>> personal, entre los objetos que identifique, se encuentran
>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>> Empleado y Horario >>>> Al presentarle en pantalla al usuario para que asigne un horario >>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>> entre Empleado y Horario
>>>> No quiero tener algo asi
>>>> public class Empleado { >>>> .. >>>> public virtual HorarioFijo {get; set;} >>>> public virtual HorarioVariable {get; set;} >>>> .. >>>> }
>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>> resto de propiedades de sus clases hijas
>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>> un horario (el que sea) tiene cero o mas >>>> empleados asignados ?
>>>> Sus comentarios me son de gran ayuda
>>>> Saludos
>>>> Edgar
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
-- Saludos,
Walter G. Poch Sr. .Net Developer -------------------------------------------- Cell: +54 (9 341) 3353273 walter.p...@gmail.com
La URL que adose por dos veces no se dejo empotrar. Pero si toman y copian y pegan lo siguiente en el navegador, con un poco de suerte, seguro que lo ven completo:
> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que > decribes es el mío, por cierto el grafico no se puede ver ni en el primero > correo ni en el segundo, pero te capte la idea
> Muchas gracias
> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
> Se corto el enlace al diagrama.
>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>> Hola Edgar. >>> Si entendí bien tus requisitos, son los siguientes:
>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>> interesados en el horario actual y no en pasados o futuribles). >>> 2.- Dicho horario puede ser fijo o variable. >>> 3.- Nada impide que dos personas compartan un mismo horario (es >>> habitual).
>>> Si es así como resumí, lo modelaría del siguiente modo:
>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>> lo que uno espera desde el punto de vista conceptual:
>>> public class Empleado { >>> .. >>> public virtual IHorario Horario {get; set;} >>> .. >>> }
>>> Obviamente, la parte común del horario (propiedades >>> comunes) estarán disponibles en la signatura de IHorario. >>> Sin embargo, en algún momento tal vez tengas que especializar tus >>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>> HorarioVariable. >>> O bien definir métodos o propiedades comunes en la signatura de la >>> interfaz como por ejemplo:
>>> public interface IHorario { >>> ... >>> int HorasTotalesSemanales {get; } >>> ... >>> }
>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>> diferente en cada implementación de horario y podrás usarlos de >>> modo genérico gracias al polimorfismo.
>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>> Gente un saludo,
>>>> Tengo una confusion con el siguiente contexto
>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>> personal, entre los objetos que identifique, se encuentran
>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>> Empleado y Horario >>>> Al presentarle en pantalla al usuario para que asigne un horario >>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>> entre Empleado y Horario
>>>> No quiero tener algo asi
>>>> public class Empleado { >>>> .. >>>> public virtual HorarioFijo {get; set;} >>>> public virtual HorarioVariable {get; set;} >>>> .. >>>> }
>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>> resto de propiedades de sus clases hijas
>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>> un horario (el que sea) tiene cero o mas >>>> empleados asignados ?
>>>> Sus comentarios me son de gran ayuda
>>>> Saludos
>>>> Edgar
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Nada que no Walter, a Google no le acaban de gustar las URLs con espacios. Probaremos con una ultima sin ellos. A ver si a la quinta va la vencida... Diagrama<http://yuml.me/diagram/scruffy/class/[Empleado]0..*-%3C%3EHorario-1:1[Horario],[Horario]%5E-[HorarioFijo],[Horar io]%5E-[HorarioVariable]> :
> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >> correo ni en el segundo, pero te capte la idea
>> Muchas gracias
>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>> Se corto el enlace al diagrama.
>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>> Hola Edgar. >>>> Si entendí bien tus requisitos, son los siguientes:
>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>>> interesados en el horario actual y no en pasados o futuribles). >>>> 2.- Dicho horario puede ser fijo o variable. >>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>> habitual).
>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>> lo que uno espera desde el punto de vista conceptual:
>>>> public class Empleado { >>>> .. >>>> public virtual IHorario Horario {get; set;} >>>> .. >>>> }
>>>> Obviamente, la parte común del horario (propiedades >>>> comunes) estarán disponibles en la signatura de IHorario. >>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>> HorarioVariable. >>>> O bien definir métodos o propiedades comunes en la signatura de la >>>> interfaz como por ejemplo:
>>>> public interface IHorario { >>>> ... >>>> int HorasTotalesSemanales {get; } >>>> ... >>>> }
>>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>>> diferente en cada implementación de horario y podrás usarlos de >>>> modo genérico gracias al polimorfismo.
>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>> Gente un saludo,
>>>>> Tengo una confusion con el siguiente contexto
>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>>> personal, entre los objetos que identifique, se encuentran
>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>> Empleado y Horario >>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>>> entre Empleado y Horario
>>>>> No quiero tener algo asi
>>>>> public class Empleado { >>>>> .. >>>>> public virtual HorarioFijo {get; set;} >>>>> public virtual HorarioVariable {get; set;} >>>>> .. >>>>> }
>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>> resto de propiedades de sus clases hijas
>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es decir, >>>>> un horario (el que sea) tiene cero o mas >>>>> empleados asignados ?
>>>>> Sus comentarios me son de gran ayuda
>>>>> Saludos
>>>>> Edgar
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Saludos,
> Walter G. Poch > Sr. .Net Developer > -------------------------------------------- > Cell: +54 (9 341) 3353273 > walter.p...@gmail.com
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
> Nada que no Walter, a Google no le acaban de gustar las URLs con espacios. > Probaremos con una ultima sin ellos. A ver si a la quinta va la vencida... > Diagrama:
> El 19 de octubre de 2010 20:19, Walter Poch <walter.p...@gmail.com>escribió:
> Edgar aquí se ve el "UML"
>> Saludos,
>> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >>> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >>> correo ni en el segundo, pero te capte la idea
>>> Muchas gracias
>>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>> Se corto el enlace al diagrama.
>>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>> Hola Edgar. >>>>> Si entendí bien tus requisitos, son los siguientes:
>>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>>>> interesados en el horario actual y no en pasados o futuribles). >>>>> 2.- Dicho horario puede ser fijo o variable. >>>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>>> habitual).
>>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>>> lo que uno espera desde el punto de vista conceptual:
>>>>> public class Empleado { >>>>> .. >>>>> public virtual IHorario Horario {get; set;} >>>>> .. >>>>> }
>>>>> Obviamente, la parte común del horario (propiedades >>>>> comunes) estarán disponibles en la signatura de IHorario. >>>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>>> HorarioVariable. >>>>> O bien definir métodos o propiedades comunes en la signatura de la >>>>> interfaz como por ejemplo:
>>>>> public interface IHorario { >>>>> ... >>>>> int HorasTotalesSemanales {get; } >>>>> ... >>>>> }
>>>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>>>> diferente en cada implementación de horario y podrás usarlos de >>>>> modo genérico gracias al polimorfismo.
>>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>> Gente un saludo,
>>>>>> Tengo una confusion con el siguiente contexto
>>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) del >>>>>> personal, entre los objetos que identifique, se encuentran
>>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo y >>>>>> HorarioVariable, que luego de factorizar de estos dos extraigo >>>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>>> Empleado y Horario >>>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>>>> entre Empleado y Horario
>>>>>> No quiero tener algo asi
>>>>>> public class Empleado { >>>>>> .. >>>>>> public virtual HorarioFijo {get; set;} >>>>>> public virtual HorarioVariable {get; set;} >>>>>> .. >>>>>> }
>>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>>> resto de propiedades de sus clases hijas
>>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es >>>>>> decir, un horario (el que sea) tiene cero o mas >>>>>> empleados asignados ?
>>>>>> Sus comentarios me son de gran ayuda
>>>>>> Saludos
>>>>>> Edgar
>>>>>> -- >>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>>> altnet-hispano@googlegroups.com. >>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Saludos,
>> Walter G. Poch >> Sr. .Net Developer >> -------------------------------------------- >> Cell: +54 (9 341) 3353273 >> walter.p...@gmail.com
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Veo que has resuelto tu duda pero ahora me queda una a mi y insisto con alguna pregunta puesto que le veo potencial a este ejemplo en la VAN del proximo sabado sobre SOLID.
En tu primer post decias que desde la clase Empleado no te servia tener una propiedad de tipo HorarioGeneral (o IHorario) puesto que solo dispondrias de los metodos de esa clase no pudiendo acceder a los metodos de las subclases.
Luego en el resto de tus posts nunca mencionaste cuales serian esos casos en los que necesitas acceder a los metodos de las subclases (ver mi post anterior en el hilo).
Podrias mencionarme cuales son esos casos? (si no podes, no te preocupes, yo me imagino algunos para el ejemplo y listo)
> El 19 de octubre de 2010 13:26, Pedro J. Molina <pjmol...@gmail.com>escribió:
> Nada que no Walter, a Google no le acaban de gustar las URLs con espacios. >> Probaremos con una ultima sin ellos. A ver si a la quinta va la vencida... >> Diagrama:
>> El 19 de octubre de 2010 20:19, Walter Poch <walter.p...@gmail.com>escribió:
>> Edgar aquí se ve el "UML"
>>> Saludos,
>>> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>>>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >>>> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >>>> correo ni en el segundo, pero te capte la idea
>>>> Muchas gracias
>>>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>> Se corto el enlace al diagrama.
>>>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>> Hola Edgar. >>>>>> Si entendí bien tus requisitos, son los siguientes:
>>>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>>>>> interesados en el horario actual y no en pasados o futuribles). >>>>>> 2.- Dicho horario puede ser fijo o variable. >>>>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>>>> habitual).
>>>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>>>> lo que uno espera desde el punto de vista conceptual:
>>>>>> public class Empleado { >>>>>> .. >>>>>> public virtual IHorario Horario {get; set;} >>>>>> .. >>>>>> }
>>>>>> Obviamente, la parte común del horario (propiedades >>>>>> comunes) estarán disponibles en la signatura de IHorario. >>>>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>>>> HorarioVariable. >>>>>> O bien definir métodos o propiedades comunes en la signatura de la >>>>>> interfaz como por ejemplo:
>>>>>> public interface IHorario { >>>>>> ... >>>>>> int HorasTotalesSemanales {get; } >>>>>> ... >>>>>> }
>>>>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>>>>> diferente en cada implementación de horario y podrás usarlos de >>>>>> modo genérico gracias al polimorfismo.
>>>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>> Gente un saludo,
>>>>>>> Tengo una confusion con el siguiente contexto
>>>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) >>>>>>> del personal, entre los objetos que identifique, se encuentran
>>>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo >>>>>>> y HorarioVariable, que luego de factorizar de estos dos extraigo >>>>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>>>> Empleado y Horario >>>>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>>>> tipos de horarios, por lo cual no se de que forma hacer esta relacion >>>>>>> entre Empleado y Horario
>>>>>>> No quiero tener algo asi
>>>>>>> public class Empleado { >>>>>>> .. >>>>>>> public virtual HorarioFijo {get; set;} >>>>>>> public virtual HorarioVariable {get; set;} >>>>>>> .. >>>>>>> }
>>>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>>>> resto de propiedades de sus clases hijas
>>>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es >>>>>>> decir, un horario (el que sea) tiene cero o mas >>>>>>> empleados asignados ?
>>>>>>> Sus comentarios me son de gran ayuda
>>>>>>> Saludos
>>>>>>> Edgar
>>>>>>> -- >>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>> Para publicar una entrada en este grupo, envía un correo electrónico >>>>>>> a altnet-hispano@googlegroups.com. >>>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico >>>>>>> a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Saludos,
>>> Walter G. Poch >>> Sr. .Net Developer >>> -------------------------------------------- >>> Cell: +54 (9 341) 3353273 >>> walter.p...@gmail.com
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/altnet-hispano?hl=es.
> -- > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" > de Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > altnet-hispano@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/altnet-hispano?hl=es.
Seguro no me pierdo esa van, mi primer planteamiento que estuvo mal desde luego, analizaba de la siguiente forma,
.- Cada vez que ingrese un empleado voy a asociarle a este empleado, un horario especifico (cero o uno y no mas horarios), pudiense ser estos Fijo y Variable .- Al identificar los atributos comunes de estos dos Tipos de Horarios, elegi un clase (no abstracta, no se me ocurrio en principio), en donde colocarlos HorarioGeneral y proceder a aplicar la herencia respectiva. .- Al tener en empleado un atributo de tipo HorarioGeneral, asumia que, si creo un objeto HorarioFijo, y lleno sus propiedades, y asignarla a este atributo, luego para propositos de calculos no podría utilizar todas las caracteristicas (atributos y propiedades)
Si lo se suena básico, mi nivel no es el mejor y procuro aprendo de todos sus comentarios ( y de las van porsupuesto)
Saludos
El 20 de octubre de 2010 04:02, Carlos Peix <carlos.p...@gmail.com>escribió:
> Veo que has resuelto tu duda pero ahora me queda una a mi y insisto con > alguna pregunta puesto que le veo potencial a este ejemplo en la VAN del > proximo sabado sobre SOLID.
> En tu primer post decias que desde la clase Empleado no te servia tener una > propiedad de tipo HorarioGeneral (o IHorario) puesto que solo dispondrias de > los metodos de esa clase no pudiendo acceder a los metodos de las subclases.
> Luego en el resto de tus posts nunca mencionaste cuales serian esos casos > en los que necesitas acceder a los metodos de las subclases (ver mi post > anterior en el hilo).
> Podrias mencionarme cuales son esos casos? (si no podes, no te preocupes, > yo me imagino algunos para el ejemplo y listo)
> Gracias
> ---------------------------------- > Carlos Peix
>> El 19 de octubre de 2010 13:26, Pedro J. Molina <pjmol...@gmail.com>escribió:
>> Nada que no Walter, a Google no le acaban de gustar las URLs con espacios. >>> Probaremos con una ultima sin ellos. A ver si a la quinta va la vencida... >>> Diagrama:
>>> El 19 de octubre de 2010 20:19, Walter Poch <walter.p...@gmail.com>escribió:
>>> Edgar aquí se ve el "UML"
>>>> Saludos,
>>>> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >>>>> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >>>>> correo ni en el segundo, pero te capte la idea
>>>>> Muchas gracias
>>>>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>> Se corto el enlace al diagrama.
>>>>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>>> Hola Edgar. >>>>>>> Si entendí bien tus requisitos, son los siguientes:
>>>>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que estamos >>>>>>> interesados en el horario actual y no en pasados o futuribles). >>>>>>> 2.- Dicho horario puede ser fijo o variable. >>>>>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>>>>> habitual).
>>>>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>>>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>>>>> lo que uno espera desde el punto de vista conceptual:
>>>>>>> public class Empleado { >>>>>>> .. >>>>>>> public virtual IHorario Horario {get; set;} >>>>>>> .. >>>>>>> }
>>>>>>> Obviamente, la parte común del horario (propiedades >>>>>>> comunes) estarán disponibles en la signatura de IHorario. >>>>>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>>>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>>>>> HorarioVariable. >>>>>>> O bien definir métodos o propiedades comunes en la signatura de la >>>>>>> interfaz como por ejemplo:
>>>>>>> public interface IHorario { >>>>>>> ... >>>>>>> int HorasTotalesSemanales {get; } >>>>>>> ... >>>>>>> }
>>>>>>> Donde la implementación de esta propiedad deriva sera, a todas luces, >>>>>>> diferente en cada implementación de horario y podrás usarlos de >>>>>>> modo genérico gracias al polimorfismo.
>>>>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>>> Gente un saludo,
>>>>>>>> Tengo una confusion con el siguiente contexto
>>>>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) >>>>>>>> del personal, entre los objetos que identifique, se encuentran
>>>>>>>> Empleado y Horario, pude identificar 2 tipos de horarios HorarioFijo >>>>>>>> y HorarioVariable, que luego de factorizar de estos dos extraigo >>>>>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>>>>> Empleado y Horario >>>>>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>>>>> tipos de horarios, por lo cual no se de que forma hacer esta >>>>>>>> relacion entre Empleado y Horario
>>>>>>>> No quiero tener algo asi
>>>>>>>> public class Empleado { >>>>>>>> .. >>>>>>>> public virtual HorarioFijo {get; set;} >>>>>>>> public virtual HorarioVariable {get; set;} >>>>>>>> .. >>>>>>>> }
>>>>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo el >>>>>>>> resto de propiedades de sus clases hijas
>>>>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es >>>>>>>> decir, un horario (el que sea) tiene cero o mas >>>>>>>> empleados asignados ?
>>>>>>>> Sus comentarios me son de gran ayuda
>>>>>>>> Saludos
>>>>>>>> Edgar
>>>>>>>> -- >>>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>>> Para publicar una entrada en este grupo, envía un correo electrónico >>>>>>>> a altnet-hispano@googlegroups.com. >>>>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico >>>>>>>> a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>> -- >>>>>> Dr. Pedro J. Molina >>>>>> pjmol...@gmail.com >>>>>> http://pjmolina.com
>>>>>> -- >>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>>> altnet-hispano@googlegroups.com. >>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>> -- >>>> Saludos,
>>>> Walter G. Poch >>>> Sr. .Net Developer >>>> -------------------------------------------- >>>> Cell: +54 (9 341) 3353273 >>>> walter.p...@gmail.com
>>>> -- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "AltNet-Hispano" de Grupos de Google. >>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>> altnet-hispano@googlegroups.com. >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>> Para tener acceso a más opciones, visita el grupo en >>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>> -- >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >>> de Grupos de Google. >>> Para publicar una entrada en este grupo, envía un correo electrónico a >>> altnet-hispano@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/altnet-hispano?hl=es.
>> -- >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" >> de Grupos de Google. >> Para publicar una entrada en este grupo, envía un correo electrónico a >> altnet-hispano@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a
Voy a suponer, a los efectos de la VAN, que se requiere una suerte de procesamiento al momento del ingreso y del egreso para, en los casos de horarios fijos, notiifcar incumplimiento de horario de entrada o de horas totales trabajadas.
Con esto me alcanza para el ejemplo y, con tu permiso, lo usare en la VAN, solo con los detalles que has publicado.
> Seguro no me pierdo esa van, mi primer planteamiento que estuvo mal desde > luego, analizaba de la siguiente forma,
> .- Cada vez que ingrese un empleado voy a asociarle a este empleado, un > horario especifico (cero o uno y no mas horarios), pudiense ser > estos Fijo y Variable > .- Al identificar los atributos comunes de estos dos Tipos de Horarios, > elegi un clase (no abstracta, no se me ocurrio en principio), en > donde colocarlos HorarioGeneral y proceder a aplicar la herencia > respectiva. > .- Al tener en empleado un atributo de tipo HorarioGeneral, asumia que, si > creo un objeto HorarioFijo, y lleno sus propiedades, y asignarla a este > atributo, luego para propositos de calculos no podría utilizar todas las > caracteristicas (atributos y propiedades)
> Si lo se suena básico, mi nivel no es el mejor y procuro aprendo de todos > sus comentarios ( y de las van porsupuesto)
> Saludos
> El 20 de octubre de 2010 04:02, Carlos Peix <carlos.p...@gmail.com>escribió:
> Hola Edgar,
>> Veo que has resuelto tu duda pero ahora me queda una a mi y insisto con >> alguna pregunta puesto que le veo potencial a este ejemplo en la VAN del >> proximo sabado sobre SOLID.
>> En tu primer post decias que desde la clase Empleado no te servia tener >> una propiedad de tipo HorarioGeneral (o IHorario) puesto que solo >> dispondrias de los metodos de esa clase no pudiendo acceder a los metodos de >> las subclases.
>> Luego en el resto de tus posts nunca mencionaste cuales serian esos casos >> en los que necesitas acceder a los metodos de las subclases (ver mi post >> anterior en el hilo).
>> Podrias mencionarme cuales son esos casos? (si no podes, no te preocupes, >> yo me imagino algunos para el ejemplo y listo)
>> Gracias
>> ---------------------------------- >> Carlos Peix
>>> El 19 de octubre de 2010 13:26, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>> Nada que no Walter, a Google no le acaban de gustar las URLs con >>>> espacios. Probaremos con una ultima sin ellos. A ver si a la quinta va la >>>> vencida... >>>> Diagrama:
>>>> El 19 de octubre de 2010 20:19, Walter Poch <walter.p...@gmail.com>escribió:
>>>> Edgar aquí se ve el "UML"
>>>>> Saludos,
>>>>> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >>>>>> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >>>>>> correo ni en el segundo, pero te capte la idea
>>>>>> Muchas gracias
>>>>>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>>> Se corto el enlace al diagrama.
>>>>>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>>>> Hola Edgar. >>>>>>>> Si entendí bien tus requisitos, son los siguientes:
>>>>>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que >>>>>>>> estamos interesados en el horario actual y no en pasados o futuribles). >>>>>>>> 2.- Dicho horario puede ser fijo o variable. >>>>>>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>>>>>> habitual).
>>>>>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>>>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>>>>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>>>>>> lo que uno espera desde el punto de vista conceptual:
>>>>>>>> public class Empleado { >>>>>>>> .. >>>>>>>> public virtual IHorario Horario {get; set;} >>>>>>>> .. >>>>>>>> }
>>>>>>>> Obviamente, la parte común del horario (propiedades >>>>>>>> comunes) estarán disponibles en la signatura de IHorario. >>>>>>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>>>>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>>>>>> HorarioVariable. >>>>>>>> O bien definir métodos o propiedades comunes en la signatura de la >>>>>>>> interfaz como por ejemplo:
>>>>>>>> public interface IHorario { >>>>>>>> ... >>>>>>>> int HorasTotalesSemanales {get; } >>>>>>>> ... >>>>>>>> }
>>>>>>>> Donde la implementación de esta propiedad deriva sera, a todas >>>>>>>> luces, diferente en cada implementación de horario y podrás usarlos de >>>>>>>> modo genérico gracias al polimorfismo.
>>>>>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>>>> Gente un saludo,
>>>>>>>>> Tengo una confusion con el siguiente contexto
>>>>>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) >>>>>>>>> del personal, entre los objetos que identifique, se encuentran
>>>>>>>>> Empleado y Horario, pude identificar 2 tipos de horarios >>>>>>>>> HorarioFijo y HorarioVariable, que luego de factorizar de estos dos extraigo >>>>>>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente entre >>>>>>>>> Empleado y Horario >>>>>>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>>>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>>>>>> tipos de horarios, por lo cual no se de que forma hacer esta >>>>>>>>> relacion entre Empleado y Horario
>>>>>>>>> No quiero tener algo asi
>>>>>>>>> public class Empleado { >>>>>>>>> .. >>>>>>>>> public virtual HorarioFijo {get; set;} >>>>>>>>> public virtual HorarioVariable {get; set;} >>>>>>>>> .. >>>>>>>>> }
>>>>>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo >>>>>>>>> el resto de propiedades de sus clases hijas
>>>>>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es >>>>>>>>> decir, un horario (el que sea) tiene cero o mas >>>>>>>>> empleados asignados ?
>>>>>>>>> Sus comentarios me son de gran ayuda
>>>>>>>>> Saludos
>>>>>>>>> Edgar
>>>>>>>>> -- >>>>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>>>> Para publicar una entrada en este grupo, envía un correo >>>>>>>>> electrónico a altnet-hispano@googlegroups.com. >>>>>>>>> Para anular tu suscripción a este grupo, envía un correo >>>>>>>>> electrónico a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>>> -- >>>>>>> Dr. Pedro J. Molina >>>>>>> pjmol...@gmail.com >>>>>>> http://pjmolina.com
>>>>>>> -- >>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>> Para publicar una entrada en este grupo, envía un correo electrónico >>>>>>> a altnet-hispano@googlegroups.com. >>>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico >>>>>>> a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>> -- >>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>>> altnet-hispano@googlegroups.com. >>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>> -- >>>>> Saludos,
>>>>> Walter G. Poch >>>>> Sr. .Net Developer >>>>> -------------------------------------------- >>>>> Cell: +54 (9 341) 3353273 >>>>> walter.p...@gmail.com
>>>>> -- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "AltNet-Hispano" de Grupos de Google. >>>>> Para publicar una entrada en este grupo, envía un correo electrónico a >>>>> altnet-hispano@googlegroups.com. >>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>>>> altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>> Para tener acceso a más opciones, visita el grupo en >>>>> http://groups.google.com/group/altnet-hispano?hl=es.
> Voy a suponer, a los efectos de la VAN, que se requiere una suerte de > procesamiento al momento del ingreso y del egreso para, en los casos de > horarios fijos, notiifcar incumplimiento de horario de entrada o de horas > totales trabajadas.
> Con esto me alcanza para el ejemplo y, con tu permiso, lo usare en la VAN, > solo con los detalles que has publicado.
> Gracias de nuevo
> ---------------------------------- > Carlos Peix
>> Seguro no me pierdo esa van, mi primer planteamiento que estuvo mal desde >> luego, analizaba de la siguiente forma,
>> .- Cada vez que ingrese un empleado voy a asociarle a este empleado, un >> horario especifico (cero o uno y no mas horarios), pudiense ser >> estos Fijo y Variable >> .- Al identificar los atributos comunes de estos dos Tipos de Horarios, >> elegi un clase (no abstracta, no se me ocurrio en principio), en >> donde colocarlos HorarioGeneral y proceder a aplicar la herencia >> respectiva. >> .- Al tener en empleado un atributo de tipo HorarioGeneral, asumia que, si >> creo un objeto HorarioFijo, y lleno sus propiedades, y asignarla a este >> atributo, luego para propositos de calculos no podría utilizar todas las >> caracteristicas (atributos y propiedades)
>> Si lo se suena básico, mi nivel no es el mejor y procuro aprendo de todos >> sus comentarios ( y de las van porsupuesto)
>> Saludos
>> El 20 de octubre de 2010 04:02, Carlos Peix <carlos.p...@gmail.com>escribió:
>> Hola Edgar,
>>> Veo que has resuelto tu duda pero ahora me queda una a mi y insisto con >>> alguna pregunta puesto que le veo potencial a este ejemplo en la VAN del >>> proximo sabado sobre SOLID.
>>> En tu primer post decias que desde la clase Empleado no te servia tener >>> una propiedad de tipo HorarioGeneral (o IHorario) puesto que solo >>> dispondrias de los metodos de esa clase no pudiendo acceder a los metodos de >>> las subclases.
>>> Luego en el resto de tus posts nunca mencionaste cuales serian esos casos >>> en los que necesitas acceder a los metodos de las subclases (ver mi post >>> anterior en el hilo).
>>> Podrias mencionarme cuales son esos casos? (si no podes, no te preocupes, >>> yo me imagino algunos para el ejemplo y listo)
>>> Gracias
>>> ---------------------------------- >>> Carlos Peix
>>>> El 19 de octubre de 2010 13:26, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>> Nada que no Walter, a Google no le acaban de gustar las URLs con >>>>> espacios. Probaremos con una ultima sin ellos. A ver si a la quinta va la >>>>> vencida... >>>>> Diagrama:
>>>>> El 19 de octubre de 2010 20:19, Walter Poch <walter.p...@gmail.com>escribió:
>>>>> Edgar aquí se ve el "UML"
>>>>>> Saludos,
>>>>>> El 19 de octubre de 2010 15:16, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>>> Gracias a todos,su ayuda fue fenomenal, y si Pedro ese contexto que >>>>>>> decribes es el mío, por cierto el grafico no se puede ver ni en el primero >>>>>>> correo ni en el segundo, pero te capte la idea
>>>>>>> Muchas gracias
>>>>>>> El 19 de octubre de 2010 13:11, Pedro J. Molina <pjmol...@gmail.com>escribió:
>>>>>>> Se corto el enlace al diagrama.
>>>>>>>> El 19 de octubre de 2010 20:09, Pedro J. Molina <pjmol...@gmail.com >>>>>>>> > escribió:
>>>>>>>> Hola Edgar. >>>>>>>>> Si entendí bien tus requisitos, son los siguientes:
>>>>>>>>> 1.- Una persona tiene siempre *un solo* horario (digamos que >>>>>>>>> estamos interesados en el horario actual y no en pasados o futuribles). >>>>>>>>> 2.- Dicho horario puede ser fijo o variable. >>>>>>>>> 3.- Nada impide que dos personas compartan un mismo horario (es >>>>>>>>> habitual).
>>>>>>>>> Si es así como resumí, lo modelaría del siguiente modo:
>>>>>>>>> Como comentaba Juan Nallar o Walter, implementar Horario como una >>>>>>>>> interfaz (IHorario) te permite llegar a montar una unica propiedad, que es >>>>>>>>> lo que uno espera desde el punto de vista conceptual:
>>>>>>>>> public class Empleado { >>>>>>>>> .. >>>>>>>>> public virtual IHorario Horario {get; set;} >>>>>>>>> .. >>>>>>>>> }
>>>>>>>>> Obviamente, la parte común del horario (propiedades >>>>>>>>> comunes) estarán disponibles en la signatura de IHorario. >>>>>>>>> Sin embargo, en algún momento tal vez tengas que especializar tus >>>>>>>>> algoritmos para tratar de modo diferente un HorarioFijo respecto a un >>>>>>>>> HorarioVariable. >>>>>>>>> O bien definir métodos o propiedades comunes en la signatura de la >>>>>>>>> interfaz como por ejemplo:
>>>>>>>>> public interface IHorario { >>>>>>>>> ... >>>>>>>>> int HorasTotalesSemanales {get; } >>>>>>>>> ... >>>>>>>>> }
>>>>>>>>> Donde la implementación de esta propiedad deriva sera, a todas >>>>>>>>> luces, diferente en cada implementación de horario y podrás usarlos de >>>>>>>>> modo genérico gracias al polimorfismo.
>>>>>>>>> El 19 de octubre de 2010 14:24, Edgar Ramos <eramose...@gmail.com>escribió:
>>>>>>>>> Gente un saludo,
>>>>>>>>>> Tengo una confusion con el siguiente contexto
>>>>>>>>>> Resulta que tengo que registrar la asistencia (ingresos y salidas) >>>>>>>>>> del personal, entre los objetos que identifique, se encuentran
>>>>>>>>>> Empleado y Horario, pude identificar 2 tipos de horarios >>>>>>>>>> HorarioFijo y HorarioVariable, que luego de factorizar de estos dos extraigo >>>>>>>>>> un HorarioGeneral, del cual los dos anteriores Heredan.
>>>>>>>>>> Hasta aqui todo bien, veo una relacion de uno a uno existente >>>>>>>>>> entre Empleado y Horario >>>>>>>>>> Al presentarle en pantalla al usuario para que asigne un horario >>>>>>>>>> especifico al empleado, este puede asignarle cualquiera de los dos >>>>>>>>>> tipos de horarios, por lo cual no se de que forma hacer esta >>>>>>>>>> relacion entre Empleado y Horario
>>>>>>>>>> No quiero tener algo asi
>>>>>>>>>> public class Empleado { >>>>>>>>>> .. >>>>>>>>>> public virtual HorarioFijo {get; set;} >>>>>>>>>> public virtual HorarioVariable {get; set;} >>>>>>>>>> .. >>>>>>>>>> }
>>>>>>>>>> tener una variable del tipo HorarioGeneral, internamente no poseo >>>>>>>>>> el resto de propiedades de sus clases hijas
>>>>>>>>>> O sera que tengo que ver la relacion desde el otro extremo ?, es >>>>>>>>>> decir, un horario (el que sea) tiene cero o mas >>>>>>>>>> empleados asignados ?
>>>>>>>>>> Sus comentarios me son de gran ayuda
>>>>>>>>>> Saludos
>>>>>>>>>> Edgar
>>>>>>>>>> -- >>>>>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>>>>> Para publicar una entrada en este grupo, envía un correo >>>>>>>>>> electrónico a altnet-hispano@googlegroups.com. >>>>>>>>>> Para anular tu suscripción a este grupo, envía un correo >>>>>>>>>> electrónico a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>>>> -- >>>>>>>> Dr. Pedro J. Molina >>>>>>>> pjmol...@gmail.com >>>>>>>> http://pjmolina.com
>>>>>>>> -- >>>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>>> Para publicar una entrada en este grupo, envía un correo electrónico >>>>>>>> a altnet-hispano@googlegroups.com. >>>>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico >>>>>>>> a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>>> -- >>>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>>> Para publicar una entrada en este grupo, envía un correo electrónico >>>>>>> a altnet-hispano@googlegroups.com. >>>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico >>>>>>> a altnet-hispano+unsubscribe@googlegroups.com<altnet-hispano%2Bunsubscribe@go oglegroups.com> >>>>>>> Para tener acceso a más opciones, visita el grupo en >>>>>>> http://groups.google.com/group/altnet-hispano?hl=es.
>>>>>> -- >>>>>> Saludos,
>>>>>> Walter G. Poch >>>>>> Sr. .Net Developer >>>>>> -------------------------------------------- >>>>>> Cell: +54 (9 341) 3353273 >>>>>> walter.p...@gmail.com
>>>>>> -- >>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>> "AltNet-Hispano" de Grupos de Google. >>>>>> Para publicar una entrada en este grupo, envía