归档: 2017

0

设计模式学习之组合模式

什么是组合模式组合模式(Composite Design Pattern)允许你将对象组合成树形的结构来表示整体-部分的层级结构。组合模式允许客户类统一对待每一个独立的对象。 组合模式类图我们先看看组合模式的类图。 先说说Client客户类,Client客户类利用Component接口来操作这个组合结构里面的对象。 Component接口定义了这个组合结构里面的所有对象的一个接口,包括组合对象和

0

设计模式学习之迭代子模式

什么是迭代子模式迭代子模式(Iterator Design Pattern)提供了一种顺序访问聚合对象中的元素但是又不暴露它的底层实现的方式。 简单补充迭代子模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。大家肯定都使用过迭代器去遍历一个集合中的元素吧?比如像下面这样遍历链表: 12345List<Int

0

设计模式学习之外观模式

什么是外观模式外观模式(Facade Design Pattern)提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。 外观模式类图 可以看到,这个设计模式非常的简单,简单到我们可以一眼就知道它的功能。不过我们还是来分析一下这个图中各个类的具体含义。 先说说Client类,这个是客户类,因为有了外观,客户的工作更加容易了,它不需要挨个挨个去调用系统中

0

设计模式学习之适配器模式

什么是适配器模式适配器模式(Adapter Design Pattern)将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 将圆假装成正方形我们知道适配器模式的作用就是将一个类的接口进行转换,以适应客户的要求。那我们现在有一个圆,如何将一个圆假装成正方形呢?咋一看没什么头绪,但是学习完本文以后你就知道如何操作了。 适配器模式类图 先说说Client类,这个类比较

0

细说Java8之新增API下

Streams流这里不得不说一下Java8中新出来的一个神器java.util.Stream。那么java.util.Stream是什么呢?我们说java.util.Stream表示一个可以对其中的元素进行一项或多项操作的序列。具体是什么呢?我们先说说这些操作可以是什么?这些操作可以是直接取得结果的,也可以只作为某一个中间过程。比如说针对list或者是set,这些Stream操作可以每次只对其中一

0

细说Java8之新增API上

JDK8发布已经有三年的时间了,虽然每次都在用JDK8去开发应用程序,但是在工作中对JDK8的新特性真的是使用不多。不过,我相信JDK8的开发者们这么辛辛苦苦编写出来的新特性一定是有它非常好的一面的,只是我们目前还没有习惯这种编程方式,不熟悉它并不代表它不优秀! 接口中新增的default方法以前我们会说接口只能声明抽象方法,而抽象类才能既声明抽象方法又能实现具体方法。但是从JDK8开始,我们再

0

Java编程思想之方法重载(四)

如果你能在十五秒内答出如何区分两个函数如何区别的问题,那么本文你就可以直接略过了。如果不能的话,或者不是很确切的话,还是听我唠叨唠叨一下吧。 方法重载什么是方法?我们都知道当在堆上创建一个对象的时候,我们也就给堆上的这片内存空间取了一个名称。那么方法是什么呢?所谓方法就是给某一个动作取的名字。我们通常都是通过某一个方法执行某一段具体的动作。通过使用名字,你可以访问所有的对象和方法(匿名的除外哈)。

0

Java编程思想之操作符(三)

本文将的操作符就不像书中那样描述啦,博主总结一些比较重要而且比较容易出错的点。这些点弄明白了操作符这一块才能真正地搞清楚。 “+”操作符有人说“+”这个操作符也需要讲?Naive!如果只是简单地描述1+1=2,那这个篇文章就没有啥存在的意义了。这里主要描述的是与字符串相关的操作。 str1 + str2Java为我们做了一件很重要的事情就是让String支持+操作符。这样做有利也有弊。首先说说好处

0

Java编程思想之注释文档(二)

大家平时聊天的时候总会调侃到,程序员最讨厌的事情就是别的程序员代码不写注释,让自己更讨厌的是自己的代码居然要写注释!今天就聊一聊Java的代码注释以及文档。 Java中的代码注释Java中的代码注释主要有两种风格,一种是源自于C语言的传统注释风格,即我们平时见到的多行注释,以/**开头,以**/结尾。另一种源自于C++语言的单行注释风格,就是在每一行代码的后面都可以使用//来标识说明内容。 多行注

0

使用You-Get下载YouTube视频

在线网站有很多,但是提供下载链接的很少。一般都是会采取下载客户端,要求你在客户端缓存的策略,但是有没有什么方法可以让你不在客户端就可以直接在PC端(包括Linux端 & Mac端)下载呢?答案是肯定的,You-Get便是其中的一种选择。 什么是You-Get?You-Get是一个非常轻量级的命令行实用工具,可以用来从网上下载媒体内容(比如视频,音频,图片)。当没有其它什么方便的途径下载的时