• 20.代码生成器


    (这一节并不是特别懂,尤其是主动代码生成器)

    当需要编写的功能存在于不同的语境,不同的位置时,我们为了避免重复的码字,减少不必要的重复劳动,这时我们就需要构件代码生成器。

    *编写可以编写代码的代码

    代码生成器分为两种:

      1.被动代码生成器

      只运行一次来生成代码,而后的生成的结果与代码生成器就完全分离,没有任何的关系了。

      被动代码生成器减少敲键次数。实际上是参数化模板。根据输入的参数,输出给定格式的最终结果。(例如:web应用中的前端模板文件,参数就是模板中将被动态语言替换掉的数据,模板文件就相当于前端代码的生成器;新建一个项目文件时,IDE会根据文件类型在头部生成的注释块,也可看作是一个模板的实现。等等)

      2.主动代码生成器

      每次运行到需要的时候去生成代码,结果在使用之后就被丢弃了。结果代码总是能由生成器去生成。主动代码生成器为了生成结果代码,总是会去读取一些脚本或控制文件。

      被动代码生成器只是一种便利的手段,如果想遵从DRY原则,则主动代码生成器会更符合要求。

      主动代码生成器可以取某项知识的一种表示形式,将其转换成为你的应用需要的所有形式。当发现自己正在设法让两个不同的环境一起工作时,就应该考虑用主动代码生成器。

  • 相关阅读:
    使用DIDatepicker
    使图片与背景融为一体
    CAGradientLayer的一些属性解析
    UIButton的titleLabel
    JAVA多线程和并发基础面试问答
    Java多线程技术学习笔记(一)
    【转】Java 内存模型及GC原理
    【转】JVM 基础知识
    【转】Java 类的生命周期详解
    JVM内存模型及内存分配过程
  • 原文地址:https://www.cnblogs.com/mysic/p/5761980.html
Copyright © 2020-2023  润新知