首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

怎么设计一款Java框架?网摘

2013-11-29 
如何设计一款Java框架?-网摘也许你会好奇框架是如何工作的?本文将通过一款简单的框架案例来演示框架的工作

如何设计一款Java框架?-网摘

也许你会好奇框架是如何工作的?本文将通过一款简单的框架案例来演示框架的工作原理。

框架目标

首先,我们要明确为什么需要框架(除了当作库)?框架的目标是为了定义一个过程,旨在让开发者基于个性化需求上实现某些功能。换句话说,框架是可被应用开发者定制的骨架。

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

Main.java是框架的整个入口,这一点不能改变。

?

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

Move.java是Hook。该Hook允许开发者可根据自己的需求来定义/扩展功能。

?

?

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

Human.java是个模板,用来映射框架的工作原理。

?

?

1234567891011public class Human {????private Move move;??????public Human(Move m){????????this.move = m;????}??????public void doMove(){????????this.move.action();????}}

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

?

?

不同的“action” 可编译成不同的目标,比如,在下面的例子中打印输出“5 miles per hour”,你也可以将其定义为“50 miles per hour”。

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

结束语:

这里的示例只演示了一个简单的模板和Hook工作原理。当然,一个真正的框架要比这个复杂的多,它不仅包含像template-temple之间的关系;还包括非常复杂的进程,比如如何有效地提高性能和编程的可用性。

热点排行