摘要: 桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 抽象与实现分离并不是说让抽象类与其派生类分离。实现值得是抽象类和它的派生类用来实现自己的对象。实现系统可能有多角度分类,每一种分类都有可能变化,那么久吧这种多角度分离出来让他们独立变化,减少他们之间的耦合。 客户端测试类: UML图: 阅读全文
posted @ 2018-08-26 00:26 以前、以后 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 创建字符串的方法有两种: Stringstr1=”直接赋值法” Stringstr2=new String(“通过new关键字的方法来创建”); 在执行String str1=”java”建字符串的时候,jvm会首先检查字符串常量池中是否存在该字符串对象,如果已经存在,那么就不会在字符串常量池中再创 阅读全文
posted @ 2018-08-25 21:50 以前、以后 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但他不能防止你实例化多个对象,一个最好的办法就是,让类自身负责保存他的唯一实例。这个类可以保证没有其它实例可以被创建,并且它可以提供一个访问该实例的方法。 单例模式又可以分为 饿汉式和懒汉 阅读全文
posted @ 2018-08-23 15:41 以前、以后 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 组合模式:将对象组合成树形接口以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 为什么Leaf类中也有add和remove,树叶不是不可以再长分支吗? 是的,这种方式叫做透明方式,也就是说在Component中声明所有用来管理子对象的方法啊,其中包括add、re 阅读全文
posted @ 2018-08-23 10:56 以前、以后 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。 备忘录模式应用场景:Memento模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的只是众多属性中的一小部分时,Originator(发起人) 阅读全文
posted @ 2018-08-22 15:15 以前、以后 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存 阅读全文
posted @ 2018-08-22 11:55 以前、以后 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 一、概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管So 阅读全文
posted @ 2018-08-22 10:30 以前、以后 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1 //对Sorted-Sets操作 2 /** 3 * Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。 4 * 它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员... 阅读全文
posted @ 2018-08-22 10:26 以前、以后 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 一、概述: 前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常 阅读全文
posted @ 2018-08-21 23:35 以前、以后 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: 1 //添加String类型的模拟数据。 2 jedis.set("mykey", "2"); 3 jedis.set("mykey2", "hello"); 4 //添加Set类型的模拟数据。 5 jedis.sadd("mysetkey", "1","2","3"); 6 //添加Ha... 阅读全文
posted @ 2018-08-21 23:32 以前、以后 阅读(1896) 评论(0) 推荐(0) 编辑