- 博客(8)
- 资源 (14)
- 收藏
- 关注
原创 十六、迭代器模式
顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。 java版: package com.shuang.iterator; public interface Collection { public Iterator iter...
2018-11-22 14:16:53
53
原创 十五、观察者模式
观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。 java版: package com.shuang.observer; import java.util...
2018-11-22 10:32:32
59
原创 十四、模板方法模式
介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 主要解决:一些方法通用,却在每一个子类都重新写了这一方法。 何时使用:有一些通用的方法。 如何解决:将这些通用算法抽象出来。 关键代码:在抽象类实现,其他步骤在子类实现。 应用实例: 1、在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有...
2018-11-21 22:39:32
67
原创 十三、策略模式
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下: java版: package com.shuang.strategy; public class AbstractCalculator { p...
2018-11-21 21:15:13
79
原创 十二、享元模式
享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被...
2018-11-20 10:51:45
85
原创 十一、组合模式
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 java: package com.shuang.compositepattern; ...
2018-11-18 23:25:09
56
原创 spring多例注入失效
springcloud中继承HystrixCommand类只能执行一次,而我写的流程为:一个request-->controller-->hystrixCommand继承的类。为了让继承hystrixCommand的类的对象每次从容器中拿到的对像都是最新new出来的,在上面加上了@Scope("prototype"),但拿到的仍是上一次new出来的对象。经过排查,需要在controll...
2018-11-16 23:47:55
366
转载 MySQL 5.7 深度解析: 中文全文检索
全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词。这不,从MySQL 5.7开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。 在使用中文检索分词插件ngram之前,先得在MySQL配置文件里面设置他的分词大小,比如, ...
2018-11-01 15:06:49
111
MFCApplication.zip
2020-04-17
23种设计模式代码
2019-02-09
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝