设计模式(java实现)_模板方法模式(Template method)
模板方法模式是编程中经常用到到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 核心:处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,可以将该节点的代码实现转移给子类完成。即:处理 ...
模板方法模式是编程中经常用到到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 核心:处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,可以将该节点的代码实现转移给子类完成。即:处理 ...
说明: yibobo.top 将在2018-12-23日过期。不打算续费。.top结尾的域名果然还是有些low,据我了解还会被一些会玩的老哥屏蔽掉。 本站将在最近将域名更改为: skypyb.com,并在未来长久的使用下去 顺利的话一两星期skypyb.com该域名就能够上线使用。要是因为各种奇怪的原因备案失败太多次估计得要一个多月、 ...
策略模式是一种对象行为型模式。一般对应于解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一个问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。 本质: 分离算法,选择实现 –以下摘自 http://www.runoob.com 意图:定义一系列的算法,把它们一个 ...
其实本来可以直接通过加载 Spring 的 XML 配置文件来得到 ApplicationContext 对象,然后就可以直接通过 getBean() 方式来获取 Spring 管理的 Bean 实例。 但是现在都 8102 年了,还用这种方式未免太过不优雅。并且加载 XML 也不是我所喜欢的形式,我目前接触的项目都不用 XML 配置了。用 Annotations 来实现各大框架之 ...
今天花了点时间写了两篇博客,其实内容我四五天前就想好了。博客后台草稿都早就打好了,就是没继续。现在我后台还有几篇草稿没整理。 哎其实最近俩月我起码还有10+篇博客可以写。关于java骚操作和知识点记录的,我特么就是有点懒。 晚上差不多6.30到家吧。下了班我是自个做饭吃的,一般吃完洗完盘子就8点了。我 ...
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。 用上 Gradle 就像在新年换上了一条新的内裤一样,舒适。 优点无敌巨大,比 tm 煞笔 xml 好了一万倍。xml导入的一多,动不动几百上千行,从上看 ...
虽然网上说 WebMvcConfigurerAdapter 已经过时了,但是我看我的 SpringBoot 里用的还是好好的。 而且这个确实也比较容易理解,比较简单。可以很轻易的实现拦截、过滤功能。 如下是我写的一个登陆拦截的例子,只有在 session 域中 adminUser 该 key 下有值的话才会跳转到能够登陆的页面 我这拦截的是所有路径,对登录页 ...
CyclicBarrier这个类的字面意思是循环屏障,跟CountDownLatch有些像,但不一样。关于CountDownLatch我在该爬虫项目中使用过,没有单独的文章进行讲解。 CyclicBarrier跟CountDownLatch的区别是: CountDownLatch只计数1次 CyclicBarrier可以通过reset()重置计数,实现更复杂的业务,也会在其等待完毕释放锁后重置计数。 ...
弹框宽高自适应,核心代码 var isMobile = { Android: function () { return navigator.userAgent.match(/Android/i) ? true : false; }, BlackBerry: function () { return navigator.userAgent.match(/BlackBerry/i) ? true : false; }, iOS: function () { return navi ...
今天爬数据真是爬的绝望,下午2点多开始写到下班,还主动加了一小时班,然后回到家又码到10点。终于爬出来了。 用java自带的 HttpURLConnection 模拟请求,返回的都是乱码。用Jsoup也是一样的。 用postman测了几下,结果一致。 应该是做了什么验证 ,导致代码伪装他的 ajax 请求是不会返回正确数据的。 ...