当前位置: 首页 > news >正文

浙江省住房与城乡建设部网站wordpress 文件说明

浙江省住房与城乡建设部网站,wordpress 文件说明,城乡建设局和住监局官网,移动互联网应用程序清理整合情况文章目录 一、前言二、Command 模式1. 介绍2.应用3. 总结 三、Interpreter 模式1. 介绍2. 应用3. 总结 参考文章 一、前言 有时候不想动脑子#xff0c;就懒得看源码又不像浪费时间所以会看看书#xff0c;但是又记不住#xff0c;所以决定开始写抄书系列。本系… 文章目录 一、前言二、Command 模式1. 介绍2.应用3. 总结 三、Interpreter 模式1. 介绍2. 应用3. 总结 参考文章 一、前言 有时候不想动脑子就懒得看源码又不像浪费时间所以会看看书但是又记不住所以决定开始写抄书系列。本系列大部分内容都是来源于《 图解设计模式》【日】结城浩 著。该系列文章可随意转载。 二、Command 模式 Command 模式 命令也是类 1. 介绍 一个类在进行工作时会调用自己或其他类的方法虽然调用结果会反映在对象的状态中但并不会留下工作的历史记录。这时如果我们有一个类用来表示“请进行这项工作”的“命令”就会方便很多。每一项的工作就不再是“方法的调用”这种动态处理了而是一个表示命令的类的实例即可以用“物”来表示。想要管理工作的历史记录只需要管理这些实例的集合即可。还可以随时再次执行过去的命令或者将多个过去的命令整合成一个新的命令并执行。在设计模式中我们称这样的命令为 Command 模式命令模式。 Command 有时也会被称为事件。它与事件驱动编程中的事件是一样的意思。当需要执行某个命令或事件时我们可以先将这个命令或事件作成实例然后按照发生顺序放入队列中然后在队列中依次处理。 Command模式 登场的角色 Command (命令) Command 角色负责定义命令的接口。ConcreteCommand (具体的命令) ConcreteCommand 角色负责实现在 Command 角色中定义的接口。Receiver (接收者) Receiver 角色是 Command 角色执行命令时的对象也可以被称其为命令接收者。Client (请求者) Client 角色负责生成 ConcreteCommand 角色并分配 Receiver 角色。Invoker发动者Invoker 角色是开始执行命令的角色它会调用在 Command 角色中定义的接口。 类图如下 Demo如下 实现两个命令AddCommand 执行加法SubtractCommand 执行减法MacroCommand 表示由多条命令整合成的命令 public interface Command {/*** 执行命令*/int execute(int num1); }public class AddCommand implements Command {/*** 数字*/private int num;public AddCommand(int num) {this.num num;}Overridepublic int execute(int num1){return num1 num;} }public class SubtractCommand implements Command {/*** 数字*/private int num;public SubtractCommand(int num) {this.num num;}Overridepublic int execute(int num1){return num1 - num;} }public class MacroCommand implements Command {/*** 命令栈先入后出*/private StackCommand commands new Stack();/*** 栈执行结果*/private int result;/*** 添加命令** param cmd*/public void append(Command cmd) {if (cmd ! this) {commands.push(cmd);}}/*** 删除最后一条命令 : 栈顶出栈*/public void undo() {if (!commands.isEmpty()) {commands.pop();}}/*** 清除所有的命令*/public void clear() {commands.clear();}Overridepublic int execute(int num1) {for (Command command : commands) {result command.execute(num1);}return result;} }// 对数字10 执行 2 - 3 5 的命令操作 public class CommandDemoMain {public static void main(String[] args) {MacroCommand macroCommand new MacroCommand();macroCommand.append(new AddCommand(2));macroCommand.append(new SubtractCommand(3));macroCommand.append(new AddCommand(5));final int result macroCommand.execute(10);System.out.println(result result);} } 2.应用 Runnable接口Java中的Runnable接口就是一个典型的命令模式的应用。Runnable接口封装了需要执行的任务然后可以交给线程去执行。 Timer和TimerTask类这两个类用于定时任务调度TimerTask类封装了要执行的任务然后由Timer类作为调用者执行这些任务。 Statement接口在Java中与数据库交互时SQL语句被封装成Statement对象然后由数据库驱动程序执行相应的命令。如在 JdbcTemplate#query 方法中将具体的执行过程封装成 PreparedStatementCallback交由 JdbcTemplate 来执行。 Nullablepublic T T query(PreparedStatementCreator psc, Nullable final PreparedStatementSetter pss, final ResultSetExtractorT rse)throws DataAccessException {Assert.notNull(rse, ResultSetExtractor must not be null);logger.debug(Executing prepared SQL query);// 执行具体的SQL语句return execute(psc, new PreparedStatementCallbackT() {OverrideNullablepublic T doInPreparedStatement(PreparedStatement ps) throws SQLException {ResultSet rs null;try {if (pss ! null) {pss.setValues(ps);}rs ps.executeQuery();return rse.extractData(rs);}finally {JdbcUtils.closeResultSet(rs);if (pss instanceof ParameterDisposer) {((ParameterDisposer) pss).cleanupParameters();}}}}, true);}个人使用该部分内容是写给自己看的帮助自身理解因此就不交代项目背景了读者请自行忽略◐ˍ◑ 项目A 中有个功能为数据报表功能该功能允许内部使用人员通过执行指定命令或者编写指定SQL 来对数据库执行查询操作。此处是模仿Java执行将指定的SQL语句封装成自定义的 Statement 对象并执行。 以事件的方式理解 Command 模式即每一项的工作就不再是“方法的调用”这种动态处理了而是一个表示命令的类的实例那么则有如下一些工具方法的实现当调用这些方法时其入参中 Supplier、Runnable 等实例都是一个个类的实例可以理解为表示命令的类的实例 /*** 属性为空时处理** param obj* param supplier* param T* return*/public static T T doIfNull(T obj, SupplierT supplier) {if (obj null || StringUtils.isBlank(obj.toString())) {return supplier.get();}return obj;}/*** 在catch 下执行方法** param runnable* param consumer*/public static void runWithCatch(Runnable runnable, ConsumerException consumer) {try {runnable.run();} catch (Exception e) {if (consumer ! null) {consumer.accept(e);return;}throw e;}}/*** 在catch 下执行方法** param supplier* param function*/public static T T suppWithCatch(SupplierT supplier, FunctionException, T function) {try {return supplier.get();} catch (Exception e) {if (function ! null) {return function.apply(e);}throw e;}}3. 总结 扩展思路 命令中应该包含哪些信息这个问题没有绝对的答案命令的目的不同所包含的信息也不同。保存历史记录在适当的场景可以保存命令的历史记录。适配器对于一个 Command 接口来说可能存在多个命令方法需要实现此时可以定义一个 CommandAdapter 的实现类对所有方法有一个默认实现。后续实现继承 CommandAdapter 便只需要实现需要实现的方法即可。 相关的设计模式 Composite 模式有时会使用 Composite 模式实现宏命令macrocommandMemento 模式有时会使用 Memento 模式来保存 Command 角色的历史记录Protype 模式有时会使用 Protype 模式复制发生的事件。 一时的小想法仅仅个人理解无需在意 Interpreter 模式 中的 “迷你程序” 感觉可以使用 Command 模式将一个个 “迷你程序” 编写为一个个 Command。 三、Interpreter 模式 Interpreter 模式 语法规则也是类 1. 介绍 在 Interpreter 模式中程序要解决的问题会被用非常简单的“迷你语言”表述出来即用“迷你语言”编写“迷你程序”把具体的问题表述出来。而迷你程序是无法工作的所以我们还需要编写一个 “翻译”程序。翻译程序会理解迷你语言并解析和运行迷你程序这段翻译程序被称为解释器。当需要解决的问题发生变化时只需要修改迷你语言程序即可。 Interpreter 模式 登场的角色 AbstractExpression抽象表达式AbstractExpression角色定义了语法树节点的共同接口TerminalExpression终结符表达式TerminalExpression角色对应BNF中的终结符表达式。NonterminalExpression非终结表达式NonterminalExpression角色对应BNF 中的非终结表达式Context上下文Context 角色为解释器进行语法解析提供了必要的信息Client请求者为了推导语法树Client 角色会调用 TerminalExpression 角色和 NonterminalExpression 角色。 类图如下 2. 应用 Jsoup 对 HTML 的解析需要分析HTML 的各个标签内容 其解析过程则是使用了语法树进行解析。正则表达式、运算表达式 等的解析都使用到了Interpreter 模式。 个人使用该部分内容是写给自己看的帮助自身理解因此就不交代项目背景了读者请自行忽略◐ˍ◑ 项目A中 使用了 OCR 识别功能但是OCR 识别的结果可能并不准确因此在该项目中存在一个数据字典的功能用户可以自定义规则当识别结束后会将识别内容交由数据字典功能处理数据字典根据客户配置的规则对报文进行进一步的处理如 字符串截取、拼接、数字类型进行加减乘除等基础运算等。这其中对于客户自定义规则的解析使用了 Interpreter 模式 。 3. 总结 扩展思路 其他迷你语言如正则表达式、检索表达式、批处理语言等 相关的设计模式 Composite 模式NonterminalExpression 角色多是递归模式因此经常会使用 Composite 模式来实现 NonterminalExpression 角色。Flyweight 模式有时会使用 Flyweight 模式来共享 TerminalExpression 角色。Visitor 模式在推导出语法树后有时会使用 Visitor 模式来访问语法树的各个节点。 一时的小想法仅仅个人理解无需在意 在适当的某些时候可以使用 Command 模式来编写 Interpreter 模式中的每个 “迷你程序”最终通过 解释器 将复杂语言解释称多个 Command 命令。 参考文章 https://blog.csdn.net/weixin_45433817/article/details/131465270 https://blog.csdn.net/laodanqiu/article/details/132056266
文章转载自:
http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn
http://www.morning.ppghc.cn.gov.cn.ppghc.cn
http://www.morning.dpnhs.cn.gov.cn.dpnhs.cn
http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn
http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn
http://www.morning.rhsg.cn.gov.cn.rhsg.cn
http://www.morning.ggtgl.cn.gov.cn.ggtgl.cn
http://www.morning.paxkhqq.cn.gov.cn.paxkhqq.cn
http://www.morning.clhyj.cn.gov.cn.clhyj.cn
http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn
http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn
http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.mxnrl.cn.gov.cn.mxnrl.cn
http://www.morning.lgmgn.cn.gov.cn.lgmgn.cn
http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn
http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn
http://www.morning.xrpjr.cn.gov.cn.xrpjr.cn
http://www.morning.rycbz.cn.gov.cn.rycbz.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.mwmtk.cn.gov.cn.mwmtk.cn
http://www.morning.qxlhj.cn.gov.cn.qxlhj.cn
http://www.morning.kgcss.cn.gov.cn.kgcss.cn
http://www.morning.mhxlb.cn.gov.cn.mhxlb.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.byywt.cn.gov.cn.byywt.cn
http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn
http://www.morning.rjkfj.cn.gov.cn.rjkfj.cn
http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn
http://www.morning.synkr.cn.gov.cn.synkr.cn
http://www.morning.ryztl.cn.gov.cn.ryztl.cn
http://www.morning.ykkrg.cn.gov.cn.ykkrg.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.rjrh.cn.gov.cn.rjrh.cn
http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn
http://www.morning.drkk.cn.gov.cn.drkk.cn
http://www.morning.trjp.cn.gov.cn.trjp.cn
http://www.morning.rknjx.cn.gov.cn.rknjx.cn
http://www.morning.lmhwm.cn.gov.cn.lmhwm.cn
http://www.morning.wbysj.cn.gov.cn.wbysj.cn
http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn
http://www.morning.kjmws.cn.gov.cn.kjmws.cn
http://www.morning.hmhdn.cn.gov.cn.hmhdn.cn
http://www.morning.fmry.cn.gov.cn.fmry.cn
http://www.morning.hjwkq.cn.gov.cn.hjwkq.cn
http://www.morning.deupp.com.gov.cn.deupp.com
http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn
http://www.morning.wnhsw.cn.gov.cn.wnhsw.cn
http://www.morning.jlschmy.com.gov.cn.jlschmy.com
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.nbiotank.com.gov.cn.nbiotank.com
http://www.morning.jqllx.cn.gov.cn.jqllx.cn
http://www.morning.rsnd.cn.gov.cn.rsnd.cn
http://www.morning.qbjrl.cn.gov.cn.qbjrl.cn
http://www.morning.fhtbk.cn.gov.cn.fhtbk.cn
http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn
http://www.morning.mcwrg.cn.gov.cn.mcwrg.cn
http://www.morning.rxfbf.cn.gov.cn.rxfbf.cn
http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn
http://www.morning.npmcf.cn.gov.cn.npmcf.cn
http://www.morning.fllfc.cn.gov.cn.fllfc.cn
http://www.morning.wyctq.cn.gov.cn.wyctq.cn
http://www.morning.tznlz.cn.gov.cn.tznlz.cn
http://www.morning.fhkr.cn.gov.cn.fhkr.cn
http://www.morning.lmhwm.cn.gov.cn.lmhwm.cn
http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn
http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.cbtn.cn.gov.cn.cbtn.cn
http://www.morning.rymd.cn.gov.cn.rymd.cn
http://www.morning.xsymm.cn.gov.cn.xsymm.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.jrlxz.cn.gov.cn.jrlxz.cn
http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn
http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn
http://www.morning.qngcq.cn.gov.cn.qngcq.cn
http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn
http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn
http://www.morning.zrgx.cn.gov.cn.zrgx.cn
http://www.morning.xxwl1.com.gov.cn.xxwl1.com
http://www.tj-hxxt.cn/news/282498.html

相关文章:

  • 类似 wordpress 建站做的比较好的二手交易网站有哪些
  • 北京网站建设 一流建设手机银行的网站
  • 网站建设 个体经营范围聊城网站制作公司
  • 电子商务的网站开发开发app需要什么设备
  • 网站网店建设河北省 建设执业注册中心网站
  • 移动论坛网站模板免费微信网站制作平台
  • 深圳哪家网站建设好网站做子页面怎么做的
  • 做旅游攻略网站网页制作app手机版
  • 网站建设在哪里招聘中科诚建建设工程有限公司网站
  • 大港建站公司网站 设计案例
  • ifront做原型控件的网站小学网站模板下载
  • 中国icp备案网站浏览器无法访问wordpress报503
  • 做电子元器件销售什么网站好外贸自建站如何收款
  • 深圳网站设计吧建筑公司跟建设公司有什么区别
  • 南京做网站南京乐识最优门窗网站模板
  • 淘宝做网站费用网站名称怎么填写
  • 哈尔滨模板建站源码安卓移动开发
  • html网站设计实验报告阿里云网站建设教程视频
  • 安卓手机应用市场一个网站的seo优化有哪些
  • 重庆公司网站 技术支持vue做pc网站
  • 网站建设需要个体营业执照吗wordpress 回复 验证码
  • 天津老区建设促进会网站直播软件开发需要多少钱
  • 福州网站建设 网络服务现在建设网站都用什么软件
  • 网站的域名分为哪些关键词网站建设
  • 中企业网站建设网站 502错误
  • 网站开发环境lmnp网站风格规划
  • 网站建设模板成功案例微信号30元一个自动发货
  • 网页制作与网站建设服务器建设者网站
  • 站长平台怎么做网站和wordpress类似的框架
  • 深圳宝安网站推广汽车网站图片