摘要: 今天要说的迭代器模式,实际上就是Java已经为我们实现好了,那就是Java的Iterator类。包括很多编程语言也有自己的迭代器类,但同时它也是一个设计模式,所以在我们实现迭代器模式的时候实际上就是在实现一个迭代器类。 我们先来了解何为迭代器?其实你把它简单理解为for循环也没什么问题,可以说是它是 阅读全文
posted @ 2016-09-29 00:35 OKevin 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式,望文生义就知道它是用来做备忘的,或者可以直接说是“备份”。当需要保存当前状态,以便在不久要恢复此状态时,就可以使用“备忘录模式”。将当前”状态“备份,是不是又new一个类,然后将每个字段方法copy过去就可以了呢?或者说使用我们之前clone方法做深复制浅复制呢?其实不然,在《大话设计模 阅读全文
posted @ 2016-09-27 23:44 OKevin 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 适配器模式其实很简单,或者说学了设计模式到现在,虽然每次看到各种名字的设计模式就觉得很高端,但当真正了解过后才知道其实也没有那么玄乎,有的东西在我们平时的时候都已经用到过了。比如这次我们要说的适配器模式,说白了,就是以前的代码接口,和我们客户端需要调用的接口不一致,但以前代码功能又是我们想要的功能。 阅读全文
posted @ 2016-09-26 23:33 OKevin 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 今天要说的设计模式——状态模式,个人觉得非常有意思,因为此种设计模式的运用场景几乎可以说是每个程序里都可以用上。当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。定义一般来说都是晦涩难懂的。我们同样来通俗一点解释,首先解释这种模式的运用场景,这种模式一般用在有大量if-else 阅读全文
posted @ 2016-09-26 00:07 OKevin 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 外观模式又称为门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。我们还是用通俗的语言来解释这句话的意思。当你需要实现某个功能,而实现这个功能需要调用N多接口,N多的类,这个时候实际上会使得你的代码变得耦合度非常大,怎么办呢?我们可以将这一 阅读全文
posted @ 2016-09-25 00:51 OKevin 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 我们思考这么一种场景,课堂上老师在黑板即兴出几道题,学生在下面在手抄黑板上的题目,这个时候前面的同学可能能抄对题目,但后面的同学可能因为太远看不清老师写的字,或者说老师写错了一个数据要修改的时候,所有学生都要跟着改一遍。连题目都抄错的同学,怎么可能做对题呢?不是同样的标准,怎么评判学生的成绩呢? 但 阅读全文
posted @ 2016-09-24 00:39 OKevin 阅读(1299) 评论(0) 推荐(1) 编辑
摘要: 之所以将线程上下文类加载器(Thread Context ClassLoader)单独拿出来写,确实是因为它涉及的东西比较多,既然带有线程两个字,一定也是非常重要的一个东西。 我们首先来回顾一下类加载器的双亲委派模型。 在上一章《虚拟机类加载机制(2)——类加载器》中我们解释了何为类加载器的“双亲委 阅读全文
posted @ 2016-09-22 23:57 OKevin 阅读(4010) 评论(1) 推荐(2) 编辑
摘要: 策略模式,需要我们结合简单工厂模式,更高级地用法可能需要我们掌握Java反射机制。简单工厂模式我们在最早的时候介绍,我们也谈到了一点Java的反射机制。借着学习策略模式的机会,我们顺便复习一下简单工厂模式和反射。 先说说何为策略模式。“策略”我的理解是,对一件事,有不同的方法去做,至于用何种方法取决 阅读全文
posted @ 2016-09-21 00:20 OKevin 阅读(3125) 评论(1) 推荐(1) 编辑
摘要: 《深入理解Java虚拟机》一书中将类的加载过程放到了类加载器前面一节,但在这里我想先讲“类加载器”。在上一篇类加载时机中我们用大量篇幅来讲解了类加载过程中的5个步骤的最后一步——初始化。在这一节中,我们实际是在讲解类加载过程5个步骤的第一步——加载。 我们再次回顾类加载过程的5个步骤: 类加载过程的 阅读全文
posted @ 2016-09-19 23:53 OKevin 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 由于道行不够深,所以此篇类加载机制的讲解主要来自于《深入理解Java虚拟机——JVM高级特性与最佳实践》的第7章 虚拟机类加载机制。 在前面《初识Java反射》中我们在开头提到要了解Java反射,就得要了解虚拟机的类加载机制。在这里,我们来试着窥探一下何为类加载。 “虚拟机把描述类的数据从Class 阅读全文
posted @ 2016-09-19 00:56 OKevin 阅读(2376) 评论(0) 推荐(0) 编辑