java框架设计_怎样开发设计一个Java框架?

现在我们使用的Java框架很多都是开源的,比如:Hibernate、Spring、Struts2、Jbpm、SiteMesh、IBATIS、EasyJWeb、Lucene、DWR等等。

然而,大家以为设计一个Java框架,貌似是一个很难以想象的事情。也许,你会非常好奇一个框架是如何实现。现在,我将做一个很简单的框架案例来说明那些框架的基本原理。(小弟不才,以下案例让您见笑了。^_^)

de43977b894933748e1b08ea6ca36cb4.png

开始,我们应该明确框架是要做什么的,需要这个框架的什么功能。

Main.java是框架的入口,框架的实现与测试等操作有一个入口来执行,调用了我们需要的实现方法等。 //框架入口public class Main {

public static void main(String[] args) {

//dog

Animal animal = new Animal(new Dog());

animal.doSleep();

animal.doEat();

//cat

Animal animal1 = new Animal(new Cat());

animal1.doSleep();

animal1.doEat();

}

}

框架拥有的功能行为,所以必须定义一些抽象方法来给我们以后想要实现功能提供接口。

//定义行为抽象类public abstract class DoAction {

public abstract void doSleep();

public abstract void doEat();

}

基类引用基类本应该拥有的行为,来调用基类的行为,为以后继承他的子类来实现属于他们想要的动作。

//Animal类public class Animal {

private DoAction doAction;

public Animal(DoAction doAction){

this.doAction= doAction;

}

public void doSleep(){

this.doAction.doSleep();

}

public void doEat(){

this.doAction.doEat();

}

继承基类Animal,实现我们想要的功能,这样就是一般框架都是以这种方式来实现的。

//继承Animal类:Dog,Catpublic class Dog extends Animal {

@Override

public void doSleep() {

// TODO Auto-generated method stub

System.out.println("小狗狗困了,要睡觉觉了...");

}

@Override

public void doEat() {

// TODO Auto-generated method stub

System.out.println("小狗狗肚子饿了,要吃饭 了...");

}

}

public class Cat extends Animal {

@Override

public void doSleep() {

// TODO Auto-generated method stub

System.out.println("小猫咪困了,要睡觉觉了...");

}

@Override

public void doEat() {

// TODO Auto-generated method stub

System.out.println("小猫咪肚子饿了,要吃饭 了...");

}

}

定义好框架应有的需求,应有的功能等接口,我们以后只要实现并且调用它,就可以成为我们自己的框架了。

其实,这个模拟的框架是非常简单的,我只是示例了一下他的工作原理。

但是,一个真正成熟的框架是非常复杂的,涉及到的业务是很复杂的,而且涉及比较深层次的问题也不是那么容易解决的。其实,我们并不用怕开发设计一个框架是如何难,如何遥不可及,现在有一些比较牛的企业都会自己开发一套属于自己企业所需要的框架来帮助他们快速的开发软件,能够重载以前实现过的功能,这不就快速提高了开发进度了吗?

4b236a258f4044df1d982d34d62aafa8.png

(ps:小弟不才,描述上或者方法上若有什么问题,请您提出来,好让我改进,大家一起学习吧!)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值