如何设计 Java 框架?– 一个简单的例子
您可能对框架的工作原理感到好奇?这里将做一个简单的框架示例来演示框架的思想。
框架的目标
首先,为什么我们需要一个框架而不是一个普通的库?框架的目标是定义一个流程,让开发人员根据个人需求实现某些功能。换句话说,框架定义了骨架,开发人员在使用时填充了肉体。
最简单的框架
在下面的示例中,前 3 个类被定义为框架的一部分,第 4 个类是框架的客户端代码。
Main.java 是框架的入口点。这是无法改变的。
//假设这是一个框架的入口点,它不能被改变
public class Main { public static void main ( String [ ] args ) { Human h = new Human ( new Walk ( ) ) ; H。移动( ) ; }
Move.java 是 Hook。钩子是开发人员可以根据自己的要求定义/扩展功能的地方。
公共 抽象 类移动{公共 抽象 无效动作();
}
Human.java 是模板,它反映了框架如何工作的想法。
公共 类人类{私人移动移动;公共人类(移动米){这个。移动 =米;}公共 无效doMove (){这。移动。行动( ) ; }
}
【java精选毕业项目】全网最全合集-java系统项目60分钟完成毕设-数个项目任你挑选-(附源码素材)满足你的各项需求https://www.bilibili.com/video/BV1ab4y1p7mC/ 这个简单的框架允许并要求开发人员扩展“Move”类。实际上,在这个简单的框架中,action() 方法是开发人员唯一能够改变的。
在实现内部,可以针对不同的目的对不同的“动作”进行编程。例如下面的示例打印“每小时 5 英里”,当然,您可以将其重新定义为“每小时 50 英里”。
公共 类步行扩展移动{@覆盖public void action ( ) { // TODO 自动生成的方法存根System . 出来。println ( "每小时 5 英里 - 很慢!" ) ; }
}
结论
这里的例子只是展示了一个简单的模板和钩子是如何工作的。一个真正的框架比这更复杂。它不仅包含模板-模板关系等其他关系,而且还包含关于如何有效提高性能和编程可用性的非常复杂的过程。
学习更多java知识关注微信公众号 HOME十二 了解更多
【java练手项目】-酒店客房管理系统-b站最详细讲解-最快上手熟练 https://www.bilibili.com/video/BV1vb4y1p7N4/
如何设计 Java 框架?– 一个简单的例子相关推荐
- java applet 一个简单的例子(applet+html)
java applet是一个类,其层次结构如下图: 类 JApplet java.lang.Object java.awt.Component java.awt.Contai ...
- 一个简单的例子看java线程机制
一个简单的例子看java线程机制 作者: zyf0808 发表日期: 2006-03-26 11:20 文章属性: 原创 复制链接 import java.util.*; public class T ...
- java txtreader_一个简单的Java读写文件例子
针对txt文件的读写可以使用java的读写操作.以下是一个简单的例子: import java.io.BufferedReader; import java.io.BufferedWriter; im ...
- java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...
- 用java写一个简单的区块链(下)
用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...
- pycharm安装scrapy失败_Scrapy ——环境搭配与一个简单的例子
在我刚接触爬虫的时候就已经听过Scrapy大名了,据说是一个很厉害的爬虫框架,不过那个时候沉迷于Java爬虫.现在终于要来揭开它神秘的面纱了,来一起学习一下吧 欢迎关注公众号:老白和他的爬虫 1.环境 ...
- antlr4例子_ANTLR和网络:一个简单的例子
antlr4例子 网络上的ANTLR:为什么? 我开始在MS-DOS上编写我的第一个程序. 因此,我非常习惯在自己的机器上安装工具. 但是在2016年,网络无处不在,因此那里也可能需要我们的语言. 可 ...
- ANTLR和网络:一个简单的例子
网络上的ANTLR:为什么? 我开始在MS-DOS上编写我的第一个程序. 因此,我非常习惯在计算机上安装工具. 但是在2016年,网络无处不在,因此那里也可能需要我们的语言. 可能的情况: ANTLR ...
- JPA基础(二)之实现一个简单 JPA 例子
实现一个简单 JAP 例子 需要学习 JPA,首先需要把环境搭起来,这里选择实现 JPA 规范的持久层框架是 Hibernate,版本为 5.0.7.Final,并且采用 maven 进行依赖包的管理 ...
- 一步一步解读神经网络编译器TVM(一)——一个简单的例子
@TOC 前言 这是一个TVM教程系列,计划从TVM的使用说明,再到TVM的内部源码?为大家大致解析一下TVM的基本工作原理.因为TVM的中文资料比较少,也希望贡献一下自己的力量,如有描述方面的错误, ...
最新文章
- SQL Server基础
- Activity向Fragment传值
- 程序员在很多人心里的作用...
- .NET大型Web站点StackOverflow架构分析
- go语言爬虫教程python_Go语言爬虫 - Go语言中文网 - Golang中文社区
- zabbix安装与使用
- 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》
- msf如何升级_Kali linux 2016.2(Rolling)中的Metasploit如何更新与目录结构初步认识...
- mysql 内存 256m_解决mySQL占用内存超大问题
- 解决手机网站点击出现蓝色框的问题
- shell 批量修改文件名字
- 递归算法及经典递归例子代码实现
- docker安装vim命令
- 旭日x3派,手势识别之Momo Quanghuang学习记录
- CAD 系统变量参数大全
- 微信,你的野心到底有多大?
- 圈儿里使人泪两行的事儿,千万要注意。
- 二进制换算十进制、八进制和十六进制。
- 服务器 战地4 无限载入,战地4卡在loading界面无限载入的解决方法_快吧单机游戏...
- 发展5G通信,测试先行