自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iCoding91

if u like it~ just do it~ it's that simple~

原创 第24章《职责链模式》

1、定义: 使得多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。 从定义分析: (1)对于一个请求会有多个对象对其进行转发。 (2)请求的发送者和最终处理请求的接受者之间互相并不知道,没有任何耦合关...

2018-01-28 11:40:20

阅读数 134

评论数 0

原创 第23章《命令模式》

1、定义:将一个请求封装为一个对象,从而可以使用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。 2、优势: 2.1、能较容易的设计一个命令队列。 2.2、在需要的情况下,可以较容易的将命令记入日志。 2.3、允许接受请求的一方决定是否要否决请求。 2....

2018-01-26 17:34:24

阅读数 127

评论数 0

原创 第22章《桥接模式》

1、定义:将抽象部分和它的实现部分分离,使它们都可以独立的变化。 这个定义真的很拗口,然后GoF的定义,我也是读了好几遍,还是有点蒙圈。还好书里有一个比较通俗的解释:实现系统可能会有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减少它们之间的耦合。 举个例子: ...

2018-01-26 11:34:17

阅读数 160

评论数 0

原创 第20章《迭代器模式》

1、定义: 提供一种方法顺序访问一个对象中各个元素,而又不暴露对象的内部表示。 2、实际应用: 由于现在高级语言,比如java、c#都已经把迭代器模式集成在语言中了,所以这个模式没有什么实用价值,但是有学习价值,我们还是可以了解一下迭代器模式内部是怎么实现的。 3、对Arr...

2018-01-24 23:16:48

阅读数 123

评论数 0

原创 第19章《组合模式》

1、定义: 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的适用具有一致性。 2、适用场景: 2.1、需求中是体现部分与整体层次的结构时; 2.2、希望用户可以忽略组合对象和单个对象的不同,统一的使用组合结构中的所有对象时; 满足以上两点...

2018-01-24 21:11:14

阅读数 94

评论数 0

转载 Java Stream API性能测试

转自:http://www.cnblogs.com/CarpenterLee/p/6675568.html 已经对Stream API的用法鼓吹够多了,用起简洁直观,但性能到底怎么样呢?会不会有很高的性能损失?本节我们对Stream API的性能一探究竟。 为保证测试结果真实可信,我们将...

2018-01-18 09:21:23

阅读数 1217

评论数 4

原创 java中将数组array转为ArrayList

1、非基本数据类型的数组,如String类、自定义类等的类型数组等。这里以String[]为例,假设已知字符串数组String[] strs, 1.1、ArrayList list=new ArrayList 这一方式利用了ArrayList的构造函数,故list是一个新的ArrayList实...

2018-01-17 23:48:58

阅读数 2069

评论数 1

原创 第18章《备忘录模式》

1、定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 2、功能: 2.1、当角色的状态改变时,有可能这个状态无效,这时候就可以使用暂存起来的备忘录将状态复原。 2.2、实现命令的撤销功能。命令模式可以使用...

2018-01-16 23:05:51

阅读数 107

评论数 0

原创 第17章《适配器模式》

1、准确定义: 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 2、适用场景: 2.1、两个类所做的事情相似或者相近,但具有不同的接口时,要使用适配器模式。 2.2、通常在软件开发的后期或者维护期考虑使用。 ...

2018-01-16 21:06:14

阅读数 97

评论数 0

原创 第16章《状态模式》

1、准确定义: 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2、解决的问题: 状态模式主要用于解决:当控制一个对象状态转换的表达式过于复杂时。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的逻辑简化。 3、优势: 将与特定状态相关...

2018-01-15 19:35:02

阅读数 100

评论数 0

原创 第15章《抽象工厂模式》

1、工厂模式和抽象工厂模式的区别: 工厂模式适合具体功能类ConcreteProductX只有一个系列的情况; 抽象工厂模式适合一个具体功能类ConcreteProductX有至少两个系列的情况。 2、抽象工厂模式准确定义: 提供一个创建一系列相关或相互依赖的接口,而无需指定它们具...

2018-01-14 20:42:42

阅读数 126

评论数 0

原创 第14章《观察者模式》

1、准确定义: 定义了一种一对多的依赖关系,让多个观察者对象同事监听某一个主题的对象。这个主题对象在状态在发生变化时,会通知所有的观察者对象,让它们能够自动更新自己。 2、使用的意义: 讲一个系统分割成一系列相互协作的类有一个不好的副作用,那就是需要维护相关对象的一致性。我们...

2018-01-10 09:29:28

阅读数 89

评论数 0

原创 第13章《建造者模式》

1、准确定义:  将一个复杂对象的创建和表示分离,使得同样的创建过程可以得到不同的表示。 2、适用场景: 用于创建一些复杂的对象,这些对象内部构建间的顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 3、优势: 使得建造代码和表示代码分离。 由于...

2018-01-08 21:15:22

阅读数 100

评论数 0

原创 第12章《外观模式》

1、准确定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这个子系统更加容易使用。 2、优势: 完美体现了依赖倒转原则和迪米特法则。 3、适用场景: 3.1、在软件设计初期阶段,应有意识的将不同的两个层分离,然后在两个层...

2018-01-07 21:17:12

阅读数 88

评论数 0

原创 第10章《模版方法模式》

1、规范定义: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。重定义操作通过覆写模版方法里面的抽象方法而实现。 2、实质: 通过把不变行为迁移到超类,去除子类中的重复代码。 3、...

2018-01-07 20:46:46

阅读数 103

评论数 0

原创 第9章《原型模式》

1、原型模式的规范定义: 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的实例。 2、原型模式的实质: 利用一个指定的对象实例,再创建一个同类型的对象实例,且这个新对象可以被定制,而且不需要知道创建的细节。 3、在java中的实现方式: 一个类只要实现了Clone...

2018-01-07 13:17:01

阅读数 156

评论数 0

原创 第8章《工厂方法模式》

1、工厂方法和简单工厂的对比: 1.1、添加新功能时,二者的区别: (1)简单工厂需要完成工作:添加一个新功能类+更改工厂类 (2)工厂方法需要完成工作:添加一个新功能类+添加一个生成对象的工厂+更改客户端实例化工厂的代码 1.2、二者共同点:集中封装了对象的创建,使得要更换对象时,不需要...

2018-01-06 10:53:35

阅读数 84

评论数 0

原创 就是测试一下这个新版本的换行排版问题

1、一级标题,手动换行到小标题 1.1、手动空格换行 1.2、手动空格换行 2、一级标题 2.1、tab换行 2.2、tab换行 3、一级标题                 3.1、空格+tab换行                                  3.2、空格+tab...

2018-01-04 15:04:23

阅读数 121

评论数 0

原创 第7章《代理模式》

1、规范定义:为其它对象提供一种代理,以控制对这个对象的访问。                       通俗的讲,就是本来C是要访问S的,但是通过加入代理P后,C不需要知道S是谁,C直接访问P,P通过自己的内部逻辑,去访问S,这就实现了C最终还是调用到了S的方法,只是不是自己直接调用,而是通...

2018-01-03 21:44:30

阅读数 132

评论数 0

原创 第6章《装饰模式》

1、定义:动态的给一个对象添加一些额外的功能 。 2、实现方式:把每个装饰的功能放在单独的类,并让这个类包装它所要修饰的对象。 3、优点:有效地把类的核心功能和装饰功能分开;去除相关类中重复的装饰逻辑。 4、适用场景:当系统需要添加的新功能,而这些新功能只是为了对曾经...

2018-01-02 22:24:01

阅读数 83

评论数 0

原创 第2章《策略模式》

1、策略模式实质:封装了变化点。 2、策略模式定义:是一种定义了一系列算法的方法。 说明:这些算法完成的工作都是一样的,只是实现方式不同而已(比如,商场促销,满1000减100和打九折,这就是两个算法,但完成的工作是一样的,你想,你去商场买衣服,付款时候,只能是使用其中一种策略减少付款...

2018-01-01 13:30:01

阅读数 188

评论数 0

提示
确定要删除当前文章?
取消 删除