怎么设计一个Java框架(简单DEMO)翻译

原文地址:http://www.programcreek.com/2011/09/how-to-design-a-java-framework/

你可能很好奇关于如何框架是怎么运作的,这里会展示一个简单的框架示例用于证明的含义。

框架的目的

首先我们为什么需要一个框架呢?相对于知识一个普通的库呢?框架的目的是定义一个让开发者实现真正的基于工业需求的方法的过程,换句话说,框架定义骨架,当需要用这个框架的时候开发者填充肉体,


    最简单的框架DEMO

看下面的示例,前面定义的3个类作为框架的一部分,第四个类是框架的客户端代码。

Main.java 是框架的入口,这个是可以被修改的。


//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 是一个钩子(回调钩子,回调函数),钩子函数是一个开发者可以自定义基于具体需求的 可定义/可继承的方法。

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()方法是唯一开发者能够修改的方法。

在实现的内部,不同的"action"能够被用于不同的需求,E.g下面的方法,打印“5 miles per hour

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

总结:

这个示例,展示一个简单的模板和钩子工作模式,一个真正的框架比这个复杂很多





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值