随笔分类 - Java基础加强
一些框架中用到的基础知识的小结
摘要:一、概述 什么是docker docker是一个应用容器引擎,通俗的讲,docker和我们的vm虚拟机有很多相似的地方,当然也有很多不同的地方 Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Docker Engine上。使用沙箱机制运行程序,程序之间相互隔离。 重要概念 镜像
阅读全文
摘要:一、分类 对称加密算法 对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用 常见的对称加密算法: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES):
阅读全文
摘要:一、概述 概念 自己定义文法,实际中还是很少出现的,作了解 给出一篇网友的参考博文:http://blog.csdn.net/ylchou/article/details/7594135
阅读全文
摘要:一、概述 概念 作用于某个对象群中各个对象的操作。它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作。 引入 试想这样一个场景,在一个Collection中放入了一大堆的各种对象的引用,取出时却需要根据这些对象的不同具体类型执行不同操作,那我们有如下方案: 就不分析说这段代码到底有什
阅读全文
摘要:一、概述 概念 再引用网友的说通俗一点: State模式在实际使用中比较多,适合"状态的切换"。因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了。不只是根据状态,也有根据属性。如果某个对象的属性不同,对象的
阅读全文
摘要:一、概述 概念 UML简图 角色 根据下图得到角色 备忘录角色(Memento)、发起人角色(Originator)、负责人角色(Caretaker) 二、实践 使用白箱实现,给出角色的代码: 发起人 备忘录 负责人 客户端 三、改进与思考 这里就不再展开黑箱实现了,给出《Java与模式》中的实现方
阅读全文
摘要:一、概述 概念 类似C中的callback! UML简图 角色 客户端:创建具体命令,指定接收者 命令接口:声明命令的接口 具体命令:定义接收者和行为之间的弱耦合(execute执行方法) 请求者(Invoker):负责调用命令执行请求 接收者:具体实施和执行请求 举个《Java与模式》中的栗子:
阅读全文
摘要:一、概述 概念 UML简图 角色 抽象处理器:定义处理请求的接口 具体处理器:接收到请求后可以选择处理,也可以选择发给下家处理(持有下家的引用) 当然这里必须指出,实际中纯的责任链模式很难寻找,一般是不纯的责任链模式:也就是一个处理器承担了部分请求,再把部分传递给下家 而纯的责任链则是要求一个处理器
阅读全文
摘要:一、概述 概念 UML简图 // Aggregate:聚集(集合) 角色 抽象迭代子:定义遍历元素所需要的接口 具体迭代子:实现抽象迭代子接口,保持游标 聚集/具体聚集:定义/实现创建迭代子对象的接口(返回迭代子iterator) 客户端:持有聚集及其迭代子的引用 使用场景 也即是我们所熟知的集合中
阅读全文
摘要:一、概述 概念 UML简图 我们根据一个示例得类图来分析角色 角色 抽象主题:保存观察者聚集(集合),管理(增删)观察者 抽象观察者:定义具体观察者的抽象接口,在得到主题通知后更新自己 具体主题:将有关状态存入具体观察者,状态发生改变时,通知观察者 具体观察者:存储与主题角色自洽的状态 二、实践 我
阅读全文
摘要:一、概念 概念 UML简图 角色 使用场景 其实我们常用得抽象类就是这个模式得运用,所以基本上属于比较好理解的一种模式。 二、实践 根据上述角色,给出相应代码 抽象模板 具体模板 至于使用就很简单了: 三、改进与思考 模板方法的核心就是“好莱坞原则”——子类可以替换掉父类的可变部分,但不能改变顶级逻
阅读全文
摘要:一、概述 概念 UML简图 角色 二、实践 我们先将上述的UML图的抽象情况下的代码写出,然后再给出一个具体的例子 策略接口——当然如果有一些公共的行为,应当使用抽象类! 具体策略实现 环境 我们稍加改造,改成一个具体的计算加减法的例子 这样,我们就可以在客户端通过环境调用了! 当然,我们之前在Ja
阅读全文
摘要:一、概述 概念 分类:弱不变模式(子类可变)和强不变模式(子类也是不可变) 应用场景 java.lang.String是一个经典的强不变类 二、分析 与享元模式的关系
阅读全文
摘要:一、概述 概念 将抽象与实现脱耦,使得抽象和实现可以独立运行 UML图 角色: 角色关系 二、实践 按照上面的角色建立相应的类 抽象化角色 修正抽象角色 实现化角色(接口形式) 具体实现化角色(只给出一个示例,可以有多个具体实现) 有了以上抽象角色的示例,我们再来看看《Java与模式》中的飞机制造的
阅读全文
摘要:一、概述 概念 简要示意图(没有一个统一的UML图) 角色 门面角色:门面模式核心,它被客户端调用,并且熟悉子系统 子系统角色:子系统,子系统并不知道门面的存在,门面对它来说只不过是另外一个客户端而已。 门面模式就是迪米特法则的一个很好的实践! 二、实践 借鉴网友的电脑启动的例子:电脑中有很多组件(
阅读全文
摘要:一、概述 概念 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。 UML简图 单纯享元模式 角色 抽象享元角色(Flyweight):定义享元子类公共接口 具体享元角色(ConcreteFlyweight):具体享元类,实现实例共享 享元工厂(FlyweightFacotr
阅读全文
摘要:一、概述 概念 UML简图 实际使用的场景示例 如果那个对象是一个是很大的图片,需要花费很长时间才能显示出来,那么当这个图片包含在文档中时,使用编辑器或浏览器打开这个文档,打开文档必须很迅速,不能等待大图片处理完成,这时需要做个图片Proxy来代替真正的图片。 如果那个对象在Internet的某个远
阅读全文
摘要:一、概述 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。 UML简图 角色 在持有Component的引用后,由于其自身也是Component的子类,那么,相当于ConcreteDecorator包裹了C
阅读全文
摘要:一、概述 定义 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。 简图 角色——对应上图中顶点为Component,左边为Leaf,右边为Composite 1.Component 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口
阅读全文
摘要:一、概述 概念 其实,举个生活中的例子的话,适配器模式可以类比转接头,比如typeC和USB的转接头,把原本只能接typeC的接口,拓展为可以接普通USB;这里的转接头一方面需要查在typeC上,一方面需要作为USB插口。 如果要举个Java中的例子的话,不妨看看JDBC的章节介绍!下图为JDBC简
阅读全文