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

 

通过优锐课核心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的工作方式。 真正的框架要比这复杂得多。 它不仅包含模板-模板关系之类的其他关系,而且还包含有关如何有效提高性能和编程可用性的非常复杂的过程。

 

 

> 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
 > 如果你对java技术很感兴趣也可以交流学习,共同学习进步。 
> 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

 

文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货

 

猜你喜欢

转载自www.cnblogs.com/youruike1/p/12503934.html