1.写在前面 在guava的collect包下,存在着许多的以Forwarding开头的类,这些类都用到了一个设计模式——装饰器模式。 为什么是装饰器模式? 装饰器模式是为已有功能动态的添加更多功能的一种方式。它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式, ...
分类:
其他好文 时间:
2020-08-11 17:30:26
阅读次数:
91
1.说明 去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。 2.特点 模板方法(Template ...
分类:
其他好文 时间:
2020-08-11 15:53:51
阅读次数:
64
<?php $txt = "http://www.xxx.cn/sitemap.txt"; //读取远程txt; //是否存在 if(file_get_contents($txt)){ $data = file($txt); //将文件存放在一个数组中; $num = count($data); / ...
分类:
编程语言 时间:
2020-08-11 15:52:05
阅读次数:
69
数组能够在单个变量中存储多个值: 实例 <?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> 数组是什么? 数组是一个 ...
分类:
编程语言 时间:
2020-08-11 13:10:06
阅读次数:
95
基本的 PHP 语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以 <?php 开始,以 ?> 结束: <?php // PHP 代码 ?> PHP 文件的默认文件扩展名是 ".php"。 PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。 下面,我们提供了一个简单的 PHP ...
分类:
Web程序 时间:
2020-08-11 13:05:43
阅读次数:
116
建造者模式 1.定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式通常有4个角色 Person抽象类:定义模板方法及基本方法 public abstract class AbstractPerson { private boolean canSwim = t ...
分类:
其他好文 时间:
2020-08-10 23:19:31
阅读次数:
78
外观模式的作用: 松散耦合,外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 简单易用,外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟门面类交互就可以了。 更好的划分访问层次-通过合理使用 Facade,可 ...
分类:
编程语言 时间:
2020-08-10 22:06:40
阅读次数:
76
docker本身,其实仅仅是提供了一种沙盒的机制,对不同应用进行隔离。镜像是它出彩的一个设计,可以让开发者们快速部署应用。但这对大型应用管理来说,是远远不够的。开发者们在意识到这个问题后,提出了编排这个概念,从而引发的新的纷争。。。 ...
分类:
其他好文 时间:
2020-08-10 20:58:47
阅读次数:
70
考察利用php://filter伪协议进行文件包含 知识点参考:https://www.smi1e.top/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E%E4%B8%8Ephp%E4%BC%AA%E5%8D%8F%E8%AE%AE/ 首 ...
分类:
其他好文 时间:
2020-08-10 20:58:19
阅读次数:
71
docker源码编译安装nginx、php、harbor
分类:
Web程序 时间:
2020-08-10 14:33:42
阅读次数:
85