10 2017 档案

摘要:一、概述 概念 UML简图 // Aggregate:聚集(集合) 角色 抽象迭代子:定义遍历元素所需要的接口 具体迭代子:实现抽象迭代子接口,保持游标 聚集/具体聚集:定义/实现创建迭代子对象的接口(返回迭代子iterator) 客户端:持有聚集及其迭代子的引用 使用场景 也即是我们所熟知的集合中 阅读全文
posted @ 2017-10-31 21:06 ---江北 阅读(190) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 UML简图 我们根据一个示例得类图来分析角色 角色 抽象主题:保存观察者聚集(集合),管理(增删)观察者 抽象观察者:定义具体观察者的抽象接口,在得到主题通知后更新自己 具体主题:将有关状态存入具体观察者,状态发生改变时,通知观察者 具体观察者:存储与主题角色自洽的状态 二、实践 我 阅读全文
posted @ 2017-10-31 14:42 ---江北 阅读(285) 评论(0) 推荐(0) 编辑
摘要:一、概念 概念 UML简图 角色 使用场景 其实我们常用得抽象类就是这个模式得运用,所以基本上属于比较好理解的一种模式。 二、实践 根据上述角色,给出相应代码 抽象模板 具体模板 至于使用就很简单了: 三、改进与思考 模板方法的核心就是“好莱坞原则”——子类可以替换掉父类的可变部分,但不能改变顶级逻 阅读全文
posted @ 2017-10-31 11:10 ---江北 阅读(252) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 UML简图 角色 二、实践 我们先将上述的UML图的抽象情况下的代码写出,然后再给出一个具体的例子 策略接口——当然如果有一些公共的行为,应当使用抽象类! 具体策略实现 环境 我们稍加改造,改成一个具体的计算加减法的例子 这样,我们就可以在客户端通过环境调用了! 当然,我们之前在Ja 阅读全文
posted @ 2017-10-30 20:48 ---江北 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 分类:弱不变模式(子类可变)和强不变模式(子类也是不可变) 应用场景 java.lang.String是一个经典的强不变类 二、分析 与享元模式的关系 阅读全文
posted @ 2017-10-30 19:52 ---江北 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 将抽象与实现脱耦,使得抽象和实现可以独立运行 UML图 角色: 角色关系 二、实践 按照上面的角色建立相应的类 抽象化角色 修正抽象角色 实现化角色(接口形式) 具体实现化角色(只给出一个示例,可以有多个具体实现) 有了以上抽象角色的示例,我们再来看看《Java与模式》中的飞机制造的 阅读全文
posted @ 2017-10-30 12:15 ---江北 阅读(276) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 简要示意图(没有一个统一的UML图) 角色 门面角色:门面模式核心,它被客户端调用,并且熟悉子系统 子系统角色:子系统,子系统并不知道门面的存在,门面对它来说只不过是另外一个客户端而已。 门面模式就是迪米特法则的一个很好的实践! 二、实践 借鉴网友的电脑启动的例子:电脑中有很多组件( 阅读全文
posted @ 2017-10-29 22:46 ---江北 阅读(257) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。 UML简图 单纯享元模式 角色 抽象享元角色(Flyweight):定义享元子类公共接口 具体享元角色(ConcreteFlyweight):具体享元类,实现实例共享 享元工厂(FlyweightFacotr 阅读全文
posted @ 2017-10-29 20:15 ---江北 阅读(190) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 UML简图 实际使用的场景示例 如果那个对象是一个是很大的图片,需要花费很长时间才能显示出来,那么当这个图片包含在文档中时,使用编辑器或浏览器打开这个文档,打开文档必须很迅速,不能等待大图片处理完成,这时需要做个图片Proxy来代替真正的图片。 如果那个对象在Internet的某个远 阅读全文
posted @ 2017-10-29 16:21 ---江北 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一、概述 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。 UML简图 角色 在持有Component的引用后,由于其自身也是Component的子类,那么,相当于ConcreteDecorator包裹了C 阅读全文
posted @ 2017-10-28 23:30 ---江北 阅读(218) 评论(0) 推荐(0) 编辑
摘要:一、概述 定义 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。 简图 角色——对应上图中顶点为Component,左边为Leaf,右边为Composite 1.Component 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口 阅读全文
posted @ 2017-10-28 21:11 ---江北 阅读(296) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 其实,举个生活中的例子的话,适配器模式可以类比转接头,比如typeC和USB的转接头,把原本只能接typeC的接口,拓展为可以接普通USB;这里的转接头一方面需要查在typeC上,一方面需要作为USB插口。 如果要举个Java中的例子的话,不妨看看JDBC的章节介绍!下图为JDBC简 阅读全文
posted @ 2017-10-28 17:42 ---江北 阅读(250) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 // 引用自《Java与模式》 UML图 第二种:登记式 二、实践 先导知识 对象的拷贝: 直接赋值:此时只是相当于a1,a2指向同一个对象,无论哪一个操作的都是同一个对象,也就是其中一个改变对象属性时,另外一个也会收到改变 浅拷贝:希望直接赋值中a1,a2可以保持独立,而不是相互影 阅读全文
posted @ 2017-10-27 18:24 ---江北 阅读(246) 评论(0) 推荐(0) 编辑
摘要:一、概述 概念 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。(与工厂类不同的是它用于创建复合对象) UML图 主要角色 抽象建造者(Builder)——规范建造方法与结果返还方法 具体建造者(Concrter Builder)——实现抽象建造接口,给出具体建造并返还具体结果 阅读全文
posted @ 2017-10-27 10:52 ---江北 阅读(290) 评论(0) 推荐(0) 编辑
摘要:一、概述 弥补一下之前没有给设计模式下的定义,先介绍一下设计模式(引用自百度百科): 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化 阅读全文
posted @ 2017-10-27 10:29 ---江北 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一、概述 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。 UML图: 其他的过多概念不再这里赘述,不如通过例子来实际感受与体会 二、实践 关键是搞清等级族的概念,这里以生产手机为例,假设生 阅读全文
posted @ 2017-10-26 17:38 ---江北 阅读(183) 评论(0) 推荐(0) 编辑
摘要:一、概述 上一节[简单工厂模式]介绍了通过工厂创建对象以及简单的利弊分析;这一节来看看工厂方法模式对类的创建 工厂方法模式: 工厂方法与简单工厂的不同,主要体现在简单工厂的缺点的改进: 工厂类不再负责产品的创建,工厂角色变成了抽象工厂的角色(工厂不再需要知道所有产品的细节) 父类负责定义创建对象的公 阅读全文
posted @ 2017-10-26 14:22 ---江北 阅读(179) 评论(0) 推荐(0) 编辑
摘要:设计模式系列参考: http://www.cnblogs.com/Coda/p/4279688.html 一、概述 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方 阅读全文
posted @ 2017-10-25 23:10 ---江北 阅读(239) 评论(0) 推荐(0) 编辑
摘要:类似工具见Hutool-StrUtil 一、起步 引入maven依赖 非maven项目想下载jar包,请移步这里:http://commons.apache.org/proper/commons-lang/download_lang.cgi 二、开始使用 概览 常见用法 以下参见网友的随笔:http 阅读全文
posted @ 2017-10-25 09:47 ---江北 阅读(4925) 评论(0) 推荐(0) 编辑
摘要:类似的是commons-lang中的StringUtils 空与非空的操作——经典的isBlank/isNotBlank、isEmpty/isNotEmpty isBlank()——是否为空白,空白的定义是null,"",不可见字符(如空格), 镜像方法是isNotBlank() 相关方法是hasB 阅读全文
posted @ 2017-10-24 22:52 ---江北 阅读(24031) 评论(0) 推荐(0) 编辑
摘要:一、IDEA中GIt的配置 file->settings(other settings>default settings) 填入git的可执行文件路径,点击测试,出现如图结果,即为安装成功! 二、Git的使用 推荐博文:http://blog.csdn.net/autfish/article/det 阅读全文
posted @ 2017-10-24 17:02 ---江北 阅读(1449) 评论(0) 推荐(0) 编辑
摘要:一、使用Github 通过前面两节已经配置了SSH Key与Github上的相关设置,接下来介绍常用的使用 使用Fork克隆一份到本地仓库 之后可以在自己的仓库克隆一份到本地 也可以直接使用别人的Git地址克隆,但由于没有权限将无法推送更改 使用git pull进行本地更新 其它使用待更新... 二 阅读全文
posted @ 2017-10-24 13:24 ---江北 阅读(265) 评论(0) 推荐(0) 编辑
摘要:预备知识: SSH协议参考资料:http://blog.csdn.net/vevenlcf/article/details/43273405 图解公钥和私钥:http://blog.csdn.net/linuxnews/article/details/51119862 百度百科:https://ba 阅读全文
posted @ 2017-10-22 21:43 ---江北 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一、Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 // 摘自百度百科 更多历史诞生故事,可以参见廖雪峰老师的 阅读全文
posted @ 2017-10-21 15:48 ---江北 阅读(337) 评论(0) 推荐(0) 编辑
摘要:commons-lang中对应也有RanddomUtils、RandomStringUtils 直接从类结构开始入手: 基本都是见名知意了,就不一一展开;点开源码可以看到算是比较通俗易懂的对Random的封装,如果不想使用工具类也可以自己参考源码 示例: 其它主要内容参考文档(详细参见API或者直接 阅读全文
posted @ 2017-10-18 22:11 ---江北 阅读(16100) 评论(0) 推荐(0) 编辑
摘要:本文参考自阿飞博客:http://www.cnblogs.com/aflyun/p/7668306.html 官方使用教程:https://zhuanlan.zhihu.com/p/30191998?utm_source=qq&utm_medium=social 以下仅介绍IDE的插件的简单使用,E 阅读全文
posted @ 2017-10-14 21:36 ---江北 阅读(31732) 评论(0) 推荐(3) 编辑
摘要:最简单最直接的上手可以参见参考文档:http://hutool.mydoc.io/?t=216015 Http协议的介绍,请参考web随笔:http://www.cnblogs.com/jiangbei/p/6681215.html 受够了的HttpClient?那Hutool的HttpUtil值得 阅读全文
posted @ 2017-10-14 17:04 ---江北 阅读(82053) 评论(0) 推荐(2) 编辑
摘要:1.编辑多列 按鼠标滚轮进行多列选中 键盘ctrl+alt+↓进行多行选中操作 2.快捷键 ctrl+H:替换(F为经典的搜索) ctrl+G:跳到指定行 ctrl+D:选词,连续按选中下面匹配的词,并可以同时操作 3.查看空格是空格还是制表符 配置方式: 路径:Preferences->Setti 阅读全文
posted @ 2017-10-13 22:29 ---江北 阅读(579) 评论(0) 推荐(0) 编辑
摘要:一、概述 直接通过官网的overview进行了解,一句话概括如下: Commons Email aims to provide a API for sending email. It is built on top of the Java Mail API, which it aims to sim 阅读全文
posted @ 2017-10-13 10:34 ---江北 阅读(2024) 评论(0) 推荐(0) 编辑
摘要:新引入Hutool-HttpUtil的使用(更简单,更强大!),详见:http://www.cnblogs.com/jiangbei/p/7667858.html 一、概述 1.简介 根据凡技术必登其官网的原则(如果有),我们可以先访问其官网:http://hc.apache.org/httpcom 阅读全文
posted @ 2017-10-10 10:59 ---江北 阅读(522) 评论(0) 推荐(0) 编辑
摘要:1.安装jar到本地仓库 有时候有部分jar由于在maven的中央仓库,只能引用本地的,可以将jar安装到本地仓库进行操作(请先确保mvn命令可以正常运行) mvn install:install-file -Dfile=D:\BdiduYunDownload\Blog\src\main\webap 阅读全文
posted @ 2017-10-08 16:23 ---江北 阅读(269) 评论(0) 推荐(0) 编辑
摘要:待更新:http://blog.csdn.net/xueer767/article/details/65936204?locationNum=8&fps=1 阅读全文
posted @ 2017-10-07 23:51 ---江北 阅读(275) 评论(0) 推荐(0) 编辑
摘要:从官方文档入手: 常见问题与快速上手:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 各种使用场景(与Spring集成等):https://github.com/Alibaba/fastjso 阅读全文
posted @ 2017-10-05 23:40 ---江北 阅读(483) 评论(0) 推荐(0) 编辑
摘要:一、CXF 1.什么是CXF Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了 阅读全文
posted @ 2017-10-05 11:29 ---江北 阅读(247) 评论(0) 推荐(0) 编辑
摘要:一、概述 1.是什么 Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。[1] Web Service技术, 能使得运行在不同机 阅读全文
posted @ 2017-10-04 16:09 ---江北 阅读(422) 评论(0) 推荐(0) 编辑

TOP
点击右上角即可分享
微信分享提示