通过优锐课核心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();
}}//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干货