Hola Ezequiel,

La gente (conocidos que tienen una productora) que recomendé a Carlos
para la grabación del video tuvieron un problema con el audio y están
demorando bastante en entregarnos un resultado (ya sea que se puede
recuperar o que no).

Pido disculpas a todos por este problema, pero sinceramente yo los
recomendé porque grabaron el casamiento de un amigo y otros eventos a
los que asistí y siempre estuve conforme.


Ahora, con respecto a DM, hay algo que me parte la cabeza, sobretodo
con lo que respecta a las operaciones 'masivas' (ya en la reunión algo
de esto te había consultado, Carlos, no sé si te acordás).

Todo lo otro me parece muy bueno y de hecho me sirvió para darle una
vuelta de tuerca a lo que venía diseñando (que era algo parecido sin
saber que estaba aplicando pseudo-DM :P). Pero cuando llego a este
tipo de operaciones, que por ejemplo es disparar una campaña de
marketing o inhabilitar cuentas, empiezan a aparecerme varias zonas
oscuras.

Voy a tratar de no extenderme demasiado pero quisiera explicar mi
dilema concreto. Siguiendo el pensamiento DM digo: bueno, cómo se
haría esto en la vida real?.

Marketing necesita enviar un mail a ciertos Clientes que matchean un
criterio determinado. Alguien (seguramente el gerente de Marketing
después de una reunión de estrategia) pide enviar un mail a aquellos
Clientes que cumplen con ciertos requisitos técnicos (información de
la que Marketing no dispone), como por ejemplo: aquellos Clientes que
tienen servicio de Casilla de Mail 10MB y no la hayan utilizado en los
últimos 60 días.

Hasta acá podría tener las clases Cliente y DeptoDeMarketing. Esta
última con un método "LanzarCampaña(string nombreDeCampaña)". Por
decir algo.

Marketing entonces le pedirá a Tecnología que le envíen por mail la
lista de Clientes que cumplan ese requisito. Tecnología revisa todas
las cuentas de servicio Casilla de Mail cuya capacidad sea 10MB, y le
devuelve una lista con los códigos de Cliente resultantes (únicamente
los códigos, ya que es lo único que conoce Tecnología; ellos no saben
(ni tienen por qué saber) los datos de un Cliente).

Podría agregar entonces la clase DeptoDeTecnología. Puedo suponer que
hago un método BuscarCódigosDeClienteConRequisitos() de la NASA al que
le paso como argumentos los requisitos y me devuelve una List<UInt32>
de identificadores.

Y ya ahi empiezo a empantanarme. Está bien así? No se vuelve demasiado
engorroso? Qué onda con la performance? LanzarCampaña() va a tener que
procesar esa lista de identificadores y pedir por ejemplo la dirección
de mail para esos clientes.

Encima, esto empeora si el criterio de búsqueda se vuelve más complejo
e incluye información de otros sectores. Por ejemplo, Servicio de Mail
10MB con último acceso mayor a 60 días, y además que el cliente esté
pagando con Tarjeta de Crédito y viva en Capital Federal. O sea que
debería pedirle a DeptoDeTecnología y DeptoComercial, luego buscar
aquellos clientes que coinciden en los dos listados y ahi procesar el
resultado.

Está bien encarado? Tal vez DM ya no me sirve para esto? O sirve pero
estoy en ese punto en el que uno tiene que decidir robustez o
performance? O... o...?

Muchas dudas, espero no haberlos mareado y que alguno me pueda
despejar la mente!!! =P

Saludos,
Luis

Responder a