文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一文了解编程领域的模版

2023-09-01 16:35

关注

文章目录

       🍊在编程领域,模板是一种代码片段,它可以被重复使用,并允许您在保持代码的基本结构不变的情况下,根据需要调整其中的内容。模板通常在构建大型程序或开发一类相关程序时非常有用,以减少代码冗余并提高代码可读性。

       🍊模板可以通过多种方式实现,具体取决于使用的编程语言。在 C++ 中,可以使用模板来实现泛型编程。在 Java 中,可以使用泛型来实现类似模板的功能。此外,许多编程语言都提供了模板引擎,可以生成静态 HTML 或动态网页。

模版含义

在编程领域中,模板可以有多种含义。以下是最常见的几种:

  1. 代码模板:代码模板是一段可以重复使用的代码片段。它通常用于生成大量相似的代码,从而减少代码冗余并提高代码的可读性。
  2. 泛型:泛型是指在一个类、接口或函数的定义中使用泛型,以提供对多种类型的支持。泛型模板可以在编译时为不同类型生成不同的代码版本,从而提供灵活的代码表示。
  3. 模板引擎:模板引擎是一种生成静态 HTML 或动态网页的工具。它通常使用特定的语法,将数据与模板中的代码结合,以生成最终的网页。

       模板的使用与实现方式因编程语言而异,但所有编程语言都提供了某种形式的模板来支持代码的重复使用和灵活性。

代码模版

       代码模板是指在编程过程中,预先编写好的一份代码,并通过一些技巧,将其中的特定部分替换为需要的信息,从而快速生成符合需求的代码。

       代码模板常用于节省编写重复代码的时间,以及保证代码质量和一致性。

以 Java 为例,下面是一个简单的代码模板文件(Template.txt):

public class ${ClassName} {    public ${ReturnType} ${MethodName}(${Parameters} ) {        // 业务逻辑code        ${generalEditorCode}    }}

在这里插入图片描述

可以通过以下步骤使用此模板:

  1. 将模板代码复制到一个文件中,例如Template.txt。
  2. 读取模版文件。
  3. 将模板中的占位符替换为具体的值,如ClassName、ReturnType、MethodName和Parameters。
  4. 保存到新文件中(如MyApplication.java)。

        根据需要,在代码中对方法进行修改和扩展。

以下代码来实现读取模板并根据模板生成代码:

import java.io.BufferedReader;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class GenerateCode {    public static void main(String[] args) throws IOException {    public class GenerateCode {    public static void main(String[] args) throws IOException {        //替换模版的信息(根据需要,玩转模版)        String className = "MyApplication";        String returnType = "void";        String methodName = "myMethod";        String parameters = "int a, String b";        String generalEditorCode = "System.out.println(a + b);";        // 读取模板        BufferedReader br = new BufferedReader(new FileReader("./file/Template.txt"));        StringBuilder sb = new StringBuilder();        String line;        while ((line = br.readLine()) != null) {            sb.append(line).append("\n");        }        br.close();        // 替换模版中占位符        String template = sb.toString();        template = template.replace("${ClassName}", className);        template = template.replace("${ReturnType}", returnType);        template = template.replace("${MethodName}", methodName);        template = template.replace("${Parameters}", parameters);        template = template.replace("${GeneralEditorCode}", generalEditorCode);        // 写入新文件        FileWriter fw = new FileWriter("./file/" + className + ".java");        fw.write(template);        fw.close();    }}    }}

        以我的视角为例,运行代码后会生成一个新的.java文件

在这里插入图片描述

泛型

下面是一个简单的泛型类,它可以存储任意类型的数据:

public class Box<T> {   private T t;   public void add(T t) {      this.t = t;   }   public T get() {      return t;   }}public class Main {   public static void main(String[] args) {      Box<Integer> integerBox = new Box<Integer>();      Box<String> stringBox = new Box<String>();      integerBox.add(10);      stringBox.add("Hello World");      System.out.println("Integer Value : " + integerBox.get());      System.out.println("String Value : " + stringBox.get());   }}

       在这个例子中,我们定义了一个名为 Box 的泛型类,并使用了 add 和 get 方法在其中存储和检索值。在创建 Box 对象时,您可以在括号中指定数据类型,如 Integer 或 String。

模版引擎

       模板引擎是一种生成动态内容的工具,常用于 Web 开发中。模板引擎允许用户创建一个静态的 HTML 页面,其中一些内容是可以动态生成的。通过在 HTML 模板中插入占位符,引擎可以根据需要在运行时自动替换为实际的内容。

以下是 Java 中使用 FreeMarker 作为模板引擎的示例代码:

  1. 创建 pom.xml,添加 FreeMarker 依赖
    org.freemarker    freemarker    2.3.30
  1. Java代码实现
import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import java.util.HashMap;import java.util.Map;public class TemplatEengine {   public static void main(String[] args) {       // 定义模板(模版可以存在文件系统、DB或者云端存储等)       String template = "\n" +               "    \n" +               "        ${title}\n" +               "    \n" +               "    \n" +               "        

${header}

\n"
+ "

${message}

\n"
+ " \n" + ""; // 创建模板配置 Configuration configuration = new Configuration(); // 将模板数据存入数据模型 Map<String, Object> dataModel = new HashMap<>(); dataModel.put("title", "My Page"); dataModel.put("header", "Welcome"); dataModel.put("message", "Hello, World!"); // 生成模板 StringWriter writer = new StringWriter(); try { Template t = new Template("template", new StringReader(template), configuration); t.process(dataModel, writer); System.out.println(writer.toString()); } catch (TemplateException | IOException e) { e.printStackTrace(); } }}

       该代码创建了一个简单的 HTML 模板,其中包含三个占位符: t i t l e 、 {title}、 title{header} 和 ${message}。接下来,代码将数据模型存入数据字典,然后使用 FreeMarker 模板引擎生成最终的 HTML。

运行结果

在这里插入图片描述

小结

       在编程领域的一些场景下,模板是作为特定类型项目或任务的起点的蓝图或表单。在编程环境中,模板通常用于生成可针对特定用例进行定制的可重用代码。

       有几种类型的模板,包括代码模板、通用模板和模板引擎。代码模板为一段代码提供了一个基本结构,可以用作起点,而通用模板允许创建可以处理一系列数据类型的灵活代码。模板引擎是一种更高级的模板形式,允许创建和呈现动态 HTML 模板。

       总的来说,这些模版都可以提高效率,减少重复的工作量,可以给研发提供额外的时间来关注其他事情,如稳定性、代码优化、重构等。⚠️但是,了解使用模板的限制和权衡很重要,因为模板也可能会增加代码的复杂性并使其更难调试。

来源地址:https://blog.csdn.net/asd1358355022/article/details/128852974

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯