无逻辑模板(例如胡子)有什么优点?

2024-05-06

最近,我遇到了mustache http://mustache.github.com/据称是无逻辑模板.

然而,没有解释为什么它是以无逻辑的方式设计的。换句话说,无逻辑模板的优点是什么?


换句话说,它可以防止你搬起石头砸自己的脚。在过去的 JSP 时代,JSP 文件中散布着 Java 代码是很常见的,这使得重构变得更加困难,因为代码分散了。

如果您阻止模板中的逻辑按设计(就像小胡子一样),您将不得不将逻辑放在其他地方,这样您的模板最终会变得整洁。

另一个优点是您被迫考虑关注点分离:您的控制器或逻辑代码必须处理数据按摩在将数据发送到 UI 之前。如果您稍后将模板切换为另一个模板(假设您开始使用不同的模板引擎),则转换会很容易,因为您只需实现 UI 详细信息(因为模板上没有逻辑,请记住)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无逻辑模板(例如胡子)有什么优点? 的相关文章

  • C++ 模板中的名称查找

    我有一些 C 代码 如果没有 fpermissive 选项 就无法再编译 这是我无法分享的专有代码 但我认为我已经能够提取一个简单的测试用例来演示该问题 这是 g 的输出 template eg cpp In instantiation o
  • 从模板类创建对象时出错

    我一直在尝试找到一种方法 从 C 中的多元正态分布中采样随机向量 同时具有均值向量和协方差矩阵 就像 Matlab 的那样mvnrnd功能有效 我找到了实现此功能的类的相关代码这一页 http lost found wandering bl
  • C++ 中何时需要或需要“显式专业化”?

    我正在阅读 C 入门 gt 函数冒险 gt 模板 gt 显式专业化 为了说明显式专业化的原因 用途 举例说明了一个案例 考虑一个可以交换任何类型的交换模板函数 int double struct etc 但有一个具体的struct job您
  • 模板类的静态变量在不同翻译单元中的显式实例化

    我正在使用包含静态变量的模板类 代码结构如下 Header h template
  • 子类 B 继承自模板类 A [重复]

    这个问题在这里已经有答案了 我最近偶然发现了如下代码 但我无法理解它 template
  • 使用模板返回值。如何处理无效退货?

    我有这样的存储回调函数的结构 template
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • virtual对类模板成员使用的影响

    我 模糊地 知道模板不会被实例化 如果它是not used 例如 以下代码即使在以下情况下也能正常编译 T type没有意义时T int template
  • 正确的文件扩展名或缩写是什么。 golang 的文本/模板?

    我正在考虑为其创建语法荧光笔 但我不知道这种特定类型模板的常规缩写 In 例子之一 http golang org pkg text template example Template helpers从文本 模板 godoc 中 它们引用
  • BASH:将数据从平面文件导入模板

    我有一个平面记录文件 每行有 33 行 我需要将此文件格式化为模板中的规格 模板为 DOS 格式 源文件为 NIX 格式 该模板具有必须遵守的特定缩进和间距 我想到了几个选择 BASH 与经典的 nix 工具 sed awk grep 等
  • 模板函数静态变量

    我有一个模板函数可以根据typename传递给它 就像这样 template
  • 显式模板函数和方法专业化

    我一直在寻找一个明确的答案 我只是从网上捕捉到一些零碎的东西 我有一个函数 它需要根据类型变量采取不同的行为 该函数不带参数 因此重载不起作用 从而导致模板专门化 例如 Calls to this function would work l
  • 嵌套模板类的 C++ 非成员函数

    我一直在编写几个包含嵌套迭代器类的类模板 需要进行相等比较 我认为这是相当典型的 比较是与非会员 和非朋友 进行的operator 功能 这样做时 我的编译器 我使用带有标志的 Mingw32 GCC 4 4 O3 g Wall 未能找到该
  • 在 Woocommerce 存档页面中显示产品星级评定和价格下方的计数 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 woocommerce 存档页面中 我想将评级移至价格下方 那可能吗 我怎样才能做到呢 这是我想要的 任何帮助表示赞赏 My 网站
  • 非类型模板参数...那是模板! (C++)

    我基本上希望为通用 C 函数生成一个包装器 而无需手动指定类型 所以我有一个带有固定原型的回调 但我需要根据包装函数的类型在包装器中执行一些特殊代码 所以基本上我正在考虑在类模板中使用静态方法将我的函数包装到一致的接口 例如 this is
  • 如何使用 Codeigniter 从另一个视图中加载视图文件,而无需通过控制器?

    我正在努力寻找此问题的解决方案 我需要从另一个视图中加载视图 我知道 通常我只需要这样做 但这一次 文件路径被传递到数据文件标记的属性 我有 a href 实际上 这是由 JavaScript 函数用来自行加载视图的 因此 当这样做时 它会
  • 如何修改 edmx 的默认代码生成策略?

    我想修改默认的代码生成策略 该怎么做 我只是想修改类名 lt code Escape container gt to Entities并将默认连接字符串更改为name Default 我不想为该项目创建模板文件 我想编辑它以便它可以在全球范
  • C++ 中不带 virtual 的多态实现多级继承

    我有一种情况 我需要在没有 vtable 的情况下实现多态性 这就是我想做的 存在类层次结构 C 扩展 B B 扩展 A 其思想是在A中声明一个函数指针 然后B和C的构造函数将其相应的方法分配给A中的函数指针 通过下面的代码 我能够实现 C
  • 无捕获 lambda 是结构类型吗?

    P1907R1 http www open std org jtc1 sc22 wg21 docs papers 2019 p1907r1 html 接受 C 20 引入结构类型 它们是非类型模板参数的有效类型 GCC 和 Clang 都接
  • 一组类型的模板专业化

    如何为一组数据类型专门化模板 例如 template

随机推荐

  • CMake 错误:CMake 无法找到与“MinGW Makefiles”对应的构建程序

    我正在尝试使用 cmake 为 c 构建 Box2D 库 当我运行 cmake gui 时出现错误 CMake Error CMake was unable to find a build program corresponding to
  • svn 本地副本中修改的文件列表

    我使用 Tortoise 客户端签出 提交我对 SVN 的更改 但我发现这有点困难 因为我无法找到本地副本中更改的所有文件的列表 有什么捷径或者我忽略的东西吗 我是 SVN 新手 供参考 我不熟悉乌龟 但是对于 linux 的颠覆我会输入
  • 在 Laravel 中记录用户操作

    我正在尝试将用户执行的所有操作 登录 注销 CRUD 记录到我的数据库中的日志表中 并且从我所看到的事件看来是执行此操作的正确方法 我添加了一个did action User 模型的方法 它将给定用户的操作记录到数据库中 这是我到目前为止所
  • 使用 TinyXml2 提取子树 XML 字符串

    我想做和里面那个人完全相同的事情这个问题 https stackoverflow com questions 11935689 how to convert an xmlelement to string in tinyxml2 我想将 X
  • 将yield语句转换为Python中的生成器表达式

    我有一个关于将yield语句转换为生成器表达式的问题 所以我有一个小的yield方法 它获取一个函数和一个起始数字作为其输入 并且基本上为每个先前被调用的数字调用该函数 即 第一次调用返回初始号码 第二次调用返回函数 初始编号 第三次调用返
  • 如何处理 Android Fragment 中的后按

    我的应用程序中有 3 个片段 例如HomePage Frag1 Frag2 Frag3 Frag4 那么发生了什么 我在我的应用程序中使用了导航抽屉 在主页上 我有一个网格视图 其中包含所有四个片段的链接 如果用户从Homepage gt
  • 使用自定义验证器进行 ASP.Net 字数统计

    我正在处理的 ASP Net 2 0 项目的要求将某个字段限制为最多 10 个单词 不是字符 我当前正在使用带有以下 ServerValidate 方法的 CustomValidator 控件 Protected Sub TenWordsT
  • maven 的 was6 插件可以与 WAS 7 一起使用吗

    据我所知 WAS 7 没有特定的 Maven 插件 所以我想知道 was6 maven plugin 是否可以与较新版本的服务器一起使用 我问了 IBM 同样的问题 官方是的 实际上 Jar Hell 会给你带来一些问题 如果我是你 我会花
  • 将 TabLayout 固定到工具栏 Scrollview 的顶部和下方

    我想在滚动时固定 TabLayout 我已经尝试过 代码 但无法将 TabLayout 固定在工具栏下方 在这个我有工具栏 下面有滚动视图 在滚动视图内我有很多布局 我想固定位于 ViewPager 上方 底部 的 TabLayout 当我
  • 在 postgres 中选择时保留顺序[重复]

    这个问题在这里已经有答案了 在 psql 中 至少在 v9 中 如果我这样做 select id from users where id in 2 1 1 and select id from users where id in 1 2 它
  • D3.js 中的点图

    我有兴趣创建一个Dot plot 每个数据值都有连续的点 但到目前为止我所管理的是为每个值创建一个点 更清楚地说 假设对于 array1 我希望第一个值创建 5 个圆圈 第二个值创建 4 个圆圈 依此类推 array1 5 4 2 0 3
  • 获取在电池电量降至 0% 之前我还有多少时间 Android

    我能知道电池电量降至 0 之前还有多少时间吗 使用的东西CountDownTimer并计算一下电池消耗了多少毫安时 有人可以帮我做吗 您无法准确猜测电池还剩多少时间放电 您只能做一些估计 您可以通过注册接收器进行操作 在广播接收器的帮助下获
  • matplotlib 中的背对背直方图

    有一个很好的函数可以绘制背靠背直方图 http www mathworks co uk matlabcentral fileexchange 23312在Matlab中 我需要在 matplotlib 中创建一个类似的图表 谁能展示一个有效
  • 在 IntelliJ 中设置 Glassfish 配置时出现“管理端口配置未找到”错误

    在 IntelliJ IDEA 中设置 Glassfish 时 我收到以下错误消息 未找到管理端口配置 现在我到处搜索 但没有找到可以设置管理端口的地方 搜索谷歌我发现的是JavaRanch 上的死链接 http www coderanch
  • 即使在签出到另一个分支后也无法删除本地分支

    我正在尝试删除我的本地分支并尝试了我在这里找到的大多数解决方案 即签出到另一个分支然后运行git branch D or d
  • 如何快速更改 SKSpriteNode 的颜色?

    我创建了一个游戏SKSpriteNode那是黑色的 当用户触摸屏幕时我想要SKSpriteNode更改为白色 我已经用谷歌搜索了一切 并尝试了很多不同的策略 但没有成功 有谁知道如何做到这一点 这是我的场景的代码 var blackBird
  • 将 ART.xcodeproj 添加到 Library 后 Xcode 崩溃

    我正在使用 React Native 开发一个应用程序 将 ART xcodeproj 添加到 Library 后 Xcode 崩溃了 这是版本信息 版本 9 0 beta 4 9M189t Some 崩溃的日志如下 Process Xco
  • 通过鼠标和触摸在画布上绘图

    我想在画布上绘图 使用鼠标效果很好 但我必须如何修改代码才能使其在 iPad 或 Nexus 上运行 link http jsfiddle net FgNQk 6 var canvas document getElementById can
  • PHP-MySQL 或 MySQLi 中哪个最快?

    我想知道是否有人对这种二分法有任何第一手经验 一些博客说 mysql 扩展比 mysqli 更快 这是真的 我只是问速度 我知道 mysqli 具有旧扩展中不存在的功能 在我看到的大多数基准测试中 MySQL 扩展比 MySQLi 稍快一些
  • 无逻辑模板(例如胡子)有什么优点?

    最近 我遇到了mustache http mustache github com 据称是无逻辑模板 然而 没有解释为什么它是以无逻辑的方式设计的 换句话说 无逻辑模板的优点是什么 换句话说 它可以防止你搬起石头砸自己的脚 在过去的 JSP