Categorías
Framework Concepts

¿Cómo diseñar un marco de Java? – Un ejemplo simple

¿Es posible que sienta curiosidad por saber cómo funciona un marco? Aquí se hará un ejemplo de marco simple para demostrar la idea de marcos.

Objetivo de un marco

En primer lugar, ¿por qué necesitamos un marco que no sea solo una biblioteca normal? El objetivo del marco es definir un proceso que permita a los desarrolladores implementar ciertas funciones en función de los requisitos individuales. En otras palabras, el framework define el esqueleto y los desarrolladores completan la carne cuando lo usan.

El marco más simple

En el siguiente ejemplo, las primeras 3 clases se definen como parte del marco y la cuarta clase es el código de cliente del marco.

Main.java es el punto de entrada del marco. Esto no se puede cambiar.

//imagine this is the entry point for a framework, it can not be changed
public class Main {
	public static void main(String[] args) {
		Human h = new Human(new Walk());
		h.doMove();		
	}
}

Move.java es el Hook. Un gancho es donde los desarrolladores pueden definir / ampliar funciones según sus propios requisitos.

public abstract class Move {
	public abstract void action();
}

Human.java es la plantilla, que refleja la idea de cómo funciona el marco.

public class Human {
	private Move move;
 
	public Human(Move m){
		this.move = m;
	}
 
	public void doMove(){
		this.move.action();
	}
}
  ¿Biblioteca frente a marco?

Este marco simple permite y requiere que los desarrolladores extiendan la clase «Move». En realidad, en este marco simple, el método action () es lo único que los desarrolladores pueden cambiar.

Dentro de la implementación, se pueden programar diferentes «acciones» para diferentes propósitos. Por ejemplo, el siguiente ejemplo imprime «5 millas por hora», por supuesto, puede redefinirlo como «50 millas por hora».

public class Walk extends Move {
 
	@Override
	public void action() {
		// TODO Auto-generated method stub
		System.out.println("5 miles per hour - it is slow!");
	}
}

Conclusión

El ejemplo aquí solo muestra cómo funcionan una plantilla y un gancho simples. Un marco real es más complicado que esto. No solo contiene otras relaciones como la relación plantilla-templo, sino también un proceso muy complejo sobre cómo mejorar de manera eficiente el rendimiento y la usabilidad de la programación.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *