如何设计Java框架? 一个简单的例子

你可能对框架如何工作感到好奇? 这里将通过一个简单的框架示例来说明框架的思想。

框架目标

首先,为什么我们需要一个除普通库以外的框架? 框架的目标是定义一个过程,使开发人员可以根据个人需求实现某些功能。 换句话说,框架定义了框架,开发人员在使用框架时填充了框架。

最简单的框架

在下面的示例中,前3个类被定义为框架的一部分,第4个类是框架的客户端代码。

 

Main.java是框架的入口点。 这是无法更改的。

//imagine this is the entry point for a framework, it can not be changedpublic class Main {

public static void main(String[] args) {

Human h = new Human(new Walk());

h.doMove();

}

}

 

Move.java是挂钩。 挂钩是开发人员可以根据自己的需求定义/扩展功能的地方。

public abstract class Move {

public abstract void action();

}

Human.java是模板,它反映了框架的工作原理。

public class Human {

private Move move;

 

public Human(Move m){

this.move = m;

}

 

public void doMove(){

this.move.action();

}

}

这个简单的框架允许并要求开发人员扩展“ Move”类。 实际上,在这个简单的框架中,action()方法是开发人员唯一能够更改的东西。

在实现内部,可以将不同的“动作”编程为不同的目的。 例如。 下面的示例显示“每小时5英里”,你当然可以将其重新定义为“每小时50英里”。

public class Walk extends Move {

 

@Override

public void action() {

// TODO Auto-generated method stub

System.out.println("5 miles per hour - it is slow!");

}

}

结论

此处的示例仅显示了一个简单的Template and Hook的工作方式。 真正的框架要比这复杂得多。 它不仅包含模板-模板关系之类的其他关系,而且还包含有关如何有效提高性能和编程可用性的非常复杂的过程。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页