Principio de “Tell, Don’t ask” en Programación Orientada a Objetos

tell dont ask

El “Tell, Don’t ask” es un principio que nos indica que no tenemos que usar los objetos para pedirles cosas y según la información que nos devuelven tomar decisiones, sino que debemos decirles a los objetos que hagan cosas y estos objetos internamente tomaran sus propias decisiones según su estado.

Este principio casa perfectamente con la idea de que un objeto se define por su comportamiento; y además es fundamental para sacar partido al polimorfismo y la inversión de control. Es decir si nos dedicamos a preguntar y tomar nosotros las decisiones estaremos acoplándonos, será prácticamente imposible hacer cambios al objeto, estaremos incumpliendo el principio Open/Close, nuestro sistema será más difícil de mantener, y por lo tanto más caro.

Al exponer el estado de una clase a las demás para que pueda ser manipulada estamos violando su encapsulamiento y asumiendo riesgos, ademas de que estamos moviendo responsabilidades a las clases de mayor nivel.

El principio fundamental de la programación orientada a objetos es la unificación de métodos y datos, por lo que lo correcto es que cuando una clase requiere conocer el estado de otra, es importante evaluar que uso se le darán a esos datos, y realizar el procesamiento de esa información en la clase expuesta, evitando la dispersión y propagación de estado.

Para mas información pueden consultar los artículos de Carles Climent o Alejandro Pérez García

Ya puedes descargar Pokemon GO!!!! Lanzamiento Oficial

descargar pokemon go

El día de hoy 05/07/2016 fue el gran y esperado lanzamiento de Pokemon GO, para los que no sepan este juego viene de la mano de Niantic Labs (los creadores de Ingress), los cuales se manejan como la referencia en cuanto a juegos de realidad aumentada.

La idea del juego es realizar un mix entre el mundo real y la captura de pokemon, por lo que por ejemplo para encontrar ciertos pokemon tendrás que moverte a zonas específicas de tu país y de esta manera poder capturarlos.

Actualmente puedes descargar Pokemon GO desde los siguientes sitios:

Para mas información pueden visitar la página oficial de Pokemon Go o la fuente de esta noticia en arturogoga.com

El día de mañana ya podremos descargarlo desde las tiendas de todos los países. Enjoy!!!

La columna izquierda

la columna izquierda

¿Cuántas veces hemos pensado o sentido algo y para evitar la confrontación o la incomodidad preferimos no decirlo? ¿Cuántas veces hemos salido de una reunión y nos damos cuenta de que nos callamos algunas ideas por querer evitar alguna discusión?

Esto nos refleja una clara distinción entre las cosas que pensamos y las que verdaderamente llegamos a decir. La diferencia entre ambas puede ser significativa, y precisamente es en esa brecha diferencial en donde podríamos conseguir un aprendizaje de gran valor. Nos han enseñado, directa o indirectamente, a elogiar y a decir lo bueno de las personas para quedar bien con los demás; por lo que está socialmente aceptado hacerlo.

Pero no nos han enseñado a decir las cosas en las que no estamos de acuerdo, y, muchas veces, comportarnos de esta manera en el trabajo, puede poner en riesgo a la organización. En el área organizacional es de gran importancia promover una cultura que impulse a romper con estos miedos y estos diálogos internos. Con esto, no sugiero ir abiertamente expresando todo lo que pensamos o sentimos, ya que si vamos exponiendo nuestra total honestidad al entorno, significaría pasar de un extremo a otro, y no considero que los extremos traigan resultados tan positivos. Siempre es bueno encontrar un equilibrio.

Las organizaciones deberían intentar establecer una cultura de razonamiento y análisis, donde los empleados estén capacitados para generar feedback y que también sean capaces de cuestionar las actividades y objetivos propuestos, para que no sólo se dediquen a cumplir órdenes. 

Ahora aparece la duda, si exponer la columna izquierda con las consecuencias de quedar expuestos, tener consecuencias no deseadas de ser mal conceptuados, descalificados, perder el empleo, rotura del vínculo, etc. o si la callo, las consecuencias –aunque aparentemente buenas en el corto plazo- a medio y largo alcance también son negativas y provocaran el mismo resultado.

Frente a la disyuntiva de qué hacer, la propuesta es liderar nuestra columna izquierda con los siguientes cuatro pasos:

Primer paso – Autoconocimiento: es la toma de conciencia. Antes de ser auténtico con los demás uno debe ser auténtico consigo mismo. Este autoconocimiento exige analizar críticamente las opiniones e interpretaciones que tenemos en nuestra columna izquierda, considerando que no es la verdad, sino una perspectiva posible de la situación.

Este análisis se puede realizar pasando por los siguientes puntos:

  • “apropiarse” de la opinión reconociendo que es una expresión subjetiva,
  • buscar los hechos que la sustentan, identificar y analizar los criterios con los que se comparan las observaciones,
  • encontrar el interés o preocupación que hace que la opinión sea relevante,
  • estimar las consecuencias para la acción que devienen de esa interpretación, y comparar esas acciones posibles con los valores éticos personales, para elegir un curso de acción y honorable.

Segundo paso – Autoconciencia: es la asunción de la conciencia de que uno tiene la responsabilidad. Hacerse cargo de que uno siempre tiene la posibilidad de responder a sus circunstancias. La clave de la transformación es sentirse protagonista, ser proactivo y encarar el esfuerzo de modificar la conducta propia como palanca para modificar la situación.

Tercer paso – Conciencia: es revisar las propias intenciones respecto de la conversación. La regla de oro a aplicar aquí es: “no hagas a los demás lo que no quieras que ellos te hagan a ti”.

Cuarto paso – Procesar la Columna Derecha del Interlocutor: así como uno puede procesar su propia columna izquierda, también puede procesar las expresiones tóxicas de sus interlocutores y por lo tanto el mismo filtro que uno aplica para refinar su columna izquierda puede aplicarse a las partes “urticantes” de la columna derecha de su interlocutor.

En cada conversación inefectiva hay una oportunidad para el aprendizaje y la transformación. Tal vez la competencia más importante de los seres humanos y de la organización sea la capacidad de “procesar” los errores para convertirlos en oportunidades de mejora, dado que son justamente, la materia prima de crecimiento.

Links de Viernes 10/06/2016

facebook-insights

Obtener datos de multiples tablas en Oracle | JOIN

join

La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado de Oracle (SQL) hay cinco tipos de JOINs: Natural JOIN, Self-join, Nonequijoins, Outer Join y Cross joins.

Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y, generalizando, es una función de composición.

Para entender como funciona la cláusula JOIN podemos ver el siguiente bloque de código

Podemos observar de forma reducida todos los tipos de JOIN que soporta una base de datos Oracle:

  • NATURAL JOIN une dos tablas basándose en las columnas que tengan el mismo nombre.
  • JOIN tabla2 USING nombre_columna realiza un equijoin basado en el nombre de columna que se especifica en la cláusula USING.
  • JOIN tabla2 ON tabla1.nombre_columna = tabla2.nombre_columna realiza un equijoin basado en la condición que se especifica en la cláusula ON.
  • LEFT / RIGHT / FULL OUTER son usados para realizar OUTER joins.
  • CROSS JOIN regresa un producto cartesiano de dos tablas.

Continue reading

Los 12 principios del manifiesto ágil

manifiesto ágil

En marzo de 2001, 17 críticos de los modelos de producción basados en procesos, convocados por Kent Beck, que había publicado un par de años antes el libro en el que explicaba la nueva metodología Extreme Programming Beck) se reunieron en Salt Lake City para discutir sobre el desarrollo de software.

En la reunión se acuñó el término “Métodos Ágiles” para definir a aquellos que estaban surgiendo como alternativa a las metodologías formales: CMM-SW, precursor del CMMI, PMI, SPICE (proyecto inicial de ISO 15504), a las que consideraban excesivamente “pesadas” y rígidas por su carácter normativo y fuerte dependencia de planificaciones detalladas, previas al desarrollo.

Los integrantes de la reunión resumieron en cuatro postulados lo que ha quedado denominado como “Manifiesto Ágil”, que son los valores sobre los que se asientan estos métodos. Hasta 2005, entre los defensores de los modelos de procesos y los de modelos ágiles fueron frecuentes las posturas radicales, más ocupadas en descalificar al otro, que en estudiar sus métodos y conocerlos para mejorar los propios.

Continue reading

¿Qué es la Gestión de Proyectos Predictiva?

Gestión de Proyectos

Algunos productos se desarrollan “a medida”, comenzando por el diseño, y ejecutando después un plan de ejecución; otros sin embargo son el resultado en serie de cadenas o procesos de producción.

Con los servicios ocurre algo similar: algunos son actuaciones únicas y específicas concebidas y realizadas para las necesidades de la ocasión, y otros son procedimientos normalizados, ejecutados según protocolos y prácticas estandarizadas, que con carácter repetitivo se emplean siempre para prestar el mismo servicio, o servicios del mismo tipo.

Se dice que los primeros son proyectos, y los segundos operaciones. Unos y otros tienen tres características comunes:

  • Los realizan personas.
  • Se ejecutan con recursos limitados.
  • Se llevan a cabo siguiendo una estrategia de actuación.

Los productos o servicios realizados por las organizaciones pueden ser el resultado de operaciones o de proyectos. Las operaciones desarrollan productos de características similares, o prestan servicios con un mismo protocolo de actuación.

Los electrodomésticos, muebles, automóviles, refrescos, prendas de vestir, etc. son ejemplos de productos realizados a través de operaciones.

La evaluación SCAMPI para medir la madurez CMMI de una empresa de software, o la impartición de un curso reglado de java son ejemplos de servicios habitualmente realizados como operaciones

gdp1

Continue reading

Links de Viernes 03/06/2016

WatchKit-main2

Y seguimos con mas recursos para IOS y WatchKit:

Links de Viernes 27/05/2016

watchOS-2-update-how-to

Links de Viernes 22/04/2016

manos-de-tijeras

He vuelto con nuevos links para leer en sus viernes de querer regresar a casa…