Mostrar Mensajes

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Jibarito

Pages: [1] 2 3 4
1
Java JSE / Uso del patrón factoría
« on: Agosto 13, 2013, 06:18:32 pm »
Buenos días,

no he visto ningún subforo dedicado a patrones de diseño, así que planteo aquí mi duda, ya que es con Java con lo que ando liado.

Tengo una duda sobre por qué es conveniente usar el patrón "factory". lo voy a explicar con un ejemplo:

Si he entendido bien el patrón, para instanciar un objeto de Clase "MiClaseAImplementaMiInterfaz" y estar abierto a que el día de mañana pueda cambiarlo por "MiClaseBImplementaMiInterfaz", debo crear más o menos lo que sigue:

- public interface MiInterfaz{...}
- public MiClaseAImplementaMiInterfaz implements MiInterfaz{...}

- public interface InterfazFactory{  //O bien una clase abtracta...
        public MiInterfaz nuevoObjeto();
}
- public FactoryA implements InterfazFactory{
        public MiInterfaz nuevoObjeto(){
                return new MiClaseAImplementaMiInterfaz();
        }
  }

Y finalmente para crear los objetos:

//Instanciar la factoría concreta:
InterfazFactory miFactoria = new FactoryA();

// Declarar e instanciar el objeto:
MiInterfaz miObjeto = miFactoria.nuevoObjeto();


Cuando quiera cambiarlo y usar un objeto de la clase "MiClaseBImplementaMiInterfaz" tendría que crear:

-public FactoryB implements InterfazFactory
    public MiInterfaz nuevoObjeto(){
        return new MiClaseBImplementaMiInterfaz();
    }
  }

Y cambiar donde decía:
//Instanciar la factoría concreta:
InterfazFactory miFactoria = new FactoryA();

por:
//Instanciar la factoría concreta:
InterfazFactory miFactoria = new FactoryB();

Mi duda ahora es la siguiente:
¿por qué no prescindir de la factoría y escribir directamente:

MiInterfaz miObjeto = new MiClaseAImplementaMiInterfaz();

y cambiarlo cuando haga falta por:

MiInterfaz MiObjeto = new MiClaseBImplementaMiInterfaz();

?
Sigue habiendo que cambiar un sólo renglón. ¿Qué aporta el uso de la factoría? ¿He entendido mal el patrón?

muchas gracias de antemano por la respuesta.

Saludos,

2
PHP / Re: Depurador PHP
« on: Junio 17, 2012, 03:29:08 am »
Bueno, veo que no abundan los programadores de PHP por aquí. Para ayudar a aquellos que se encuentren en la misma situación que yo, os cuento las averiguaciones que he ido haciendo:

Las opciones de depuración de php necesitan soporte por dos lados: a) desde el servidor (p.ej apache) y b) desde el cliente, que durante el desarrollo es el IDE que estemos utilizando.

a) Para que el servidor permita ejecutar el código en modo debug (con puntos de interrupción, ejecución paso a paso, acceso a la traza, a las variables, análisis de tiempo/rendimiento...) es necesario instalar una extensión como Xdebug o Zend Debugger.

Yo estoy probando Zend debugger (ZEND son los creadores de PHP. Eso me inspira confianza). Sin embargo, la última versión de zend debugger a día de hoy, no soporta PHP 5.3, así que, para evitar conflictos, he descargado el XAMP con PHP 5.2 para depurar y conservo el WAMP que tenía para cuando quiera usar PHP 5.3... Tendré que estar atento a las diferencias...

b) Para gestionar la depuración existen distintos clientes. Personalmente he empezado a usar eclipse + PDT, por la sencilla razón de que uso Eclipse y he descubierto que el módulo PDT ya lo tenía instalado. Sólo he tenido que configurarlo indicándole dónde está la librería de Zend Debugger. Ahora desde el propio Eclipse activo o desactivo los puntos de interrupción, veo los valores de las variables en cada momento... etc,

Otra opción que parece sencilla de utilizar (aunque no la he probado) es descargarse el Zend Studio, que, si lo he entendido bien, es un IDE de ZEND que incorpora opciones para depurar tanto PHP como JavaScript entre otras funcionalidades para el desarrollo como opciones de refactoring, integración con Subversion, trabajo en la nube...

Espero que os sirva

Saludos y que la fuerza os acelere

3
PHP / Depurador PHP
« on: Mayo 11, 2012, 04:10:59 am »
Muy buenas a todos, estoy buscando opciones para depurar código PHP.

He visto que existen algunas extensiones para PHP que permiten opciones de debugging, como: DBG, APD o Xdebug, pero no tengo ni idea de cual es más cómodo de usar ni de qué funcionalidades incorporan.

¿Alguien podría aconsejarme alguno (no necesariamente de esos tres)? Necesito orientación antes de empezar.

Muchas gracias de antemano.

Saludos!

4
Muy buenas,

estoy empezando a trabajar con un pequeño equipo de programadores y estamos pensando en formas de estimar el tiempo que nos va a requerir cada tarea. Los objetivos de estimar esos tiempos son varios, como poder planificarnos y dar fechas de entregas (aunque sean sólo aproximadas), estimar los "costes de programación" antes de emprender la tarea o priorizar las tareas pendientes...

¿Alguien conoce algún método/herramienta/bibliografía que me pueda orientar en este tema?

Muchas gracias de antemano.

5
Javascript / Re: Forzar racarga de archivos .js
« on: Diciembre 04, 2011, 08:18:22 pm »
muchas gracias Chuidiang,

me parece mejor opción la segunda, para no tener que andar metiéndome en los menús activando y desactivando.
He probado la etiqueta: "<meta http-equiv="Pragma" content="no-cache">" del enlace que me has puesto y parece que funciona bien.
(Eso sí, tendré que acordarme de quitarla cuando termine las pruebas, antes de subirlo a la red).

Saludos!

6
Javascript / Forzar racarga de archivos .js
« on: Diciembre 04, 2011, 06:36:39 am »
buenas a todos.

estoy desarroyando en Javascript desde Eclipse. Me he dado cuenta de que a veces tras cambiar un script y revargar la página, los cambios no sruten efecto. Al consultar el código fuente desde el explorador compruebo que la versión del .js no se ha actualizado, sigue usando la que tiene en la caché.

¿Cómo puedo hacer para forzar la descarga de los .js y comprobar el funcionamiento de la nueva versión??

muchas gracias de antemano por vuestra ayuda.

7
Cursos y herramientas / Para empezar con AJAX
« on: Abril 24, 2011, 09:58:58 pm »
La web "LibrosWeb.es" tiene muchos libros online gratuítos sobre programación.

Yo he llegado a ella buscando info sobre las tecnologías AJAX y me ha encantado el libro online que tienen al respecto.

Para empezar he aprendido mucho sobre JavaScript (el JSON!!) del que conocía sólo la superficie.

Os lo recomiendo a todos los que estéis empezando:

http://www.librosweb.es/ajax/

Que la fuerza os acelere.

8
Javascript / Modalidades de rollover
« on: Octubre 02, 2010, 12:18:18 am »
Hola a todos.

Me he estado documentando sobre cómo hacer un rollover. En el localhost sale bien sin precargar las imágenes, pero según dicen hay que precargarlas para que funcione rápido cuando se usa en internet (aún no he tenido ocasión para probarlo en la red. No tengo aún el dominio). Así que he estado viendo cómo implementar la precarga.

Mi duda es: ¿da lo mismo cargar las imágenes en un array de imágenes nuevo que añadirlas al array del objeto window document?. Dudo porque desconozco el mecanismo por el que el javascript reconoce la ruta de img.src y busca la imagen en memoria.

Adjunto el código que he implementado a ver si alguien me puede confirmar que durante el "mouseover" la imágen que se carga es la precargada y no la está volviendo a descargar.

En el <head>:
Code: [Select]
<script type="text/javascript" language="javascript">
function precargar_img(){
var imagenes = new Array();
for (var i = 0; i<args.length; i++)
{
imagenes[i] = new Image();
imagenes[i].src = precargar_img.arguments[i];
}
}
</script>

Luego en la etiqueta "body"
Code: [Select]
<body bgcolor="#eeeeee" onLoad="precargar_img('IMG/ImagenBtn1On.png','IMG/ImagenBtn2On','IMG/ImagenBtn3On.png')">
Y finalmente en ela imagen del botón:
Code: [Select]
onMouseOver="this.src('ImagenBtn1On.png');" onMouseOut=""this.src('ImagenBtn1Off.png');"
... y lo mismo para los otros dos botones. (la imagen "Off" es la original así que ya debería estar descargada y creo que no hay por qué precargarla con las "On").

También he visto que se usan archivos que contienen las dos imágenes y que jugando con la posición se ve una u otra... ¿Es mejor ese método?

Muchas gracias de antemano.

9
PHP / ¿Hay que pasar $conexion?
« on: Septiembre 21, 2010, 12:28:56 am »
hola a todos,

estoy programando en php una serie de funciones que hacen consultas en una base de datos MySQL.

En cada página llamo a una función "conectar()" que me devuleve una conexión a la base de datos "$conexion". Según parece las consultas a MySQL reciben ese objeto "$conexion" como argumento de entrada, así que estoy incluyéndolo en todas las funciones que escribo.

Mi duda es si hace falta lo que estoy haciendo: Me parece extraño que sea necesario incluir siempre el objeto "$conexion" a la signatura de todas las funciones, es muy engorroso y sé que los lenguajes se diseñan para que sean cómodos. Además he visto en la documentación que las consultas de mysql pueden funcionar también sin ése parámetro.

¿Cuál es la diferencia entre usarlo y no usarlo? ¿puede dar problemas de seguradad? ¿interferirá con las sesiones de usuario cuando lo suba a la web??

Muchas gracias de antemano por vuestra ayuda.

10
Java: Librerías / Aportación
« on: Agosto 31, 2010, 01:42:57 pm »
Hola a todos, esto es una aportación,

os dejo la dirección de otra librería de java. Sirve para trabajo con matrices, sobre todo operaciones matemáticas, pero también para concatenar, hacer casting...

No es del todo completa, pero puede ser muy útil y parece muy cómoda de usar.

http://sites.google.com/site/proyectogoliath

Saludos a todos

11
PHP / Re: Conexión php con MySQL desde Apache
« on: Agosto 20, 2010, 07:24:07 pm »
Hace dos días aún tenía curiosidad. Ahora mismo sólo quiero que se arregle y poder ponerme a programar.

Voy a probar esa herramienta. Muchas gracias.

12
PHP / Conexión php con MySQL desde Apache
« on: Agosto 20, 2010, 06:26:35 am »
Hola a todos,

He desempolvado los libros de php para ponerme a hacer un servicio web y llevo dos días atascado con un error al conectar con la base de datos.

He instalado Apache2.2 y PHP como módulo de Apache (instalación manual completando el archivo httpd.conf, añadiendo c:/php al PATH ...). Y funciona.

Luego he instalado MySQL server 5 y he creado manualmente (desde el cmd de windows, para comprobar que funciona) una base de datos con un par de tablas y unos cuantos registros en cada tabla. Y funciona.

He escrito una página php sencilla (leer los registros de una tabla y presentar los nombres en una lista desplegable HTML. Al abrir la página veo bien el título y la bienvenida que le he puesto y debajo un error:

Code: [Select]
Fatal error: Call to undefined function mysql_connect() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\prueba_1.php  on line 10.
He estado en multitud de foros y he hecho todo lo que dicen:
descomentar las líneas "extension" que incluyen las dll de mySQL en el archivo php.ini, corregir la ruta "ext_dir" del mismo archivo, reiniciar apache, reiniciar a veces hasta el ordenador... y nada.

¿De casualidad a alguien se le ocurre qué otra cosa podría estar fallando?

Os agradezco cualquier idea. Gracias.

13
IDEs / Re: Quitar clase de prueba del package
« on: Julio 22, 2010, 01:55:00 pm »
Sabía que las clases de un paquete tenían que estar en el subdirectorio del mismo nombre, pero no sabía que no se podían meter en él otras clases que no fueran del paquete, ni que Eclipse te avisara de esas cosas.

La verdad es que tiene lógica. Arreglado.

Gracias!

14
IDEs / Quitar clase de prueba del package
« on: Julio 21, 2010, 02:25:20 pm »
Hola a todos,

Tengo un problema con junit y Eclipse. Hace poco he reorganizado mi proyecto y he separado por fin los .java de los .class poniéndolos en directorios distintos como debe de ser. He intentado pasar la clase de prueba (la única que he hecho por ahora) a otro directorio, pero resulta que está dentro del package que estoy haciendo y eso no me permite sacarlo del directorio del package.

No recuerdo cuándo ni por qué incluí la clase en el package. Sospecho que lo pudo hacer Eclipse automáticamente??... En fin, he probado a borrar la linea de "package mipaquete", pero entonces Eclipse me da un error que no entiendo en el que dice que la clase no pertenece al paquete que se esperaba: "mipaquete".

¿Cómo se soluciona esto?

Gracias.

15
Metodologías Agiles / Re: Dependencias entre clases
« on: Junio 12, 2010, 04:30:41 pm »
Eres una mina... :)

Pages: [1] 2 3 4
ey