摘要: 建造者模式是最后一个创建型设计模式,也是研究对象的创建。 将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。 创建和表示是什么意思 ? 表示就是外在,对象具体的样子,而内部构建过程是一种组装的概念,有点像套娃,同样的结构,但是却产生了不同大小的样子。 按照惯例,先讲故事。 假阅读全文
posted @ 2017-09-13 22:20 一面千人 阅读(168) 评论(0) 编辑
摘要: 原型模式也是创建型的设计模式,字面意思其实很简单,就是复制一个对象,这里面有什么学问呢? 用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。 按照惯例,先讲故事。 我们都知道苹果有刻字服务,也就是假如你买了一款iPhone手机,你可以花一点钱让厂商给你刻上你想刻的字,这样体现了这款产阅读全文
posted @ 2017-09-12 23:48 一面千人 阅读(192) 评论(0) 编辑
摘要: 单例模式有的时候特别重要,因为某些系统是要求某个类在整个生命周期中有且只有一个实例存在,这时候就要用到单例模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式也是创建型设计模式。 我们一步步研究。 按照惯例,先讲故事。 各个大学想请史上最牛科学家来自己学校讲课。 分析一波,既然是阅读全文
posted @ 2017-09-11 21:54 一面千人 阅读(173) 评论(0) 编辑
摘要: 工厂模式是面向对象设计模式中非常重要,非常流行的模式,是应该首先被理解透彻的模式。 我们讲对象的相关职责包括: 1. 对象本身的职责(数据和行为) 2. 创建对象的职责 3. 使用对象的职责 而对象的创建在Java中有四种方式: 1. new 2. 反射 3. clone() 4. 工厂类创建 工厂阅读全文
posted @ 2017-09-10 23:35 一面千人 阅读(21) 评论(0) 编辑
摘要: docker是一个轻量级容器,属于操作系统层面的虚拟化技术,封装了文件系统(AUFS)以及网络互联,进程隔离等特性。 传统虚拟化架构: docker虚拟化架构: 可以看出,docker是没有Guest OS一层的,它属于宿主机上面开启的一个单独进程,共享宿主机的内核和硬件。 传统虚拟化技术每个实例都阅读全文
posted @ 2017-09-09 15:31 一面千人 阅读(27) 评论(0) 编辑
摘要: 复用一个类的时候,多使用对象的组合/聚合的关联关系,而不是继承。 之前提到的“依赖倒转原则”,是以里氏代换原则为基础的实现开闭原则目标的手段,这一条路线涉及到的是类的继承(包括单继承和接口实现),他们支撑了Java多态的特性。 但是今天要谈一谈Java另一个特性——封装。封装就是不要暴露过多的基类内阅读全文
posted @ 2017-09-08 23:24 一面千人 阅读(26) 评论(0) 编辑
摘要: 提到数据结构,不得不说数据类型,有人将他们比作分子和原子的关系,我们都知道大自然最小的构成单位是原子,数据类型描述的是原子的内部,如质子、中子的情况,而数据结构是分子,由不同的原子以各种各样的结构组成。 先说Java的数据类型,包括八种基本类型以及对象类型, 数据结构,是以上这些不同数据类型的数据元阅读全文
posted @ 2017-09-07 14:17 一面千人 阅读(39) 评论(0) 编辑
摘要: 一千个人眼里有一千个哈姆雷特,下面我尝试用深入浅出的语言贯穿到“控制反转”,“依赖注入”,“面向抽象编程”,以及“面向接口编程”这几个概念。 传递参数,关联(组合&聚合)关系时,要尽量引用高层次的抽象类,使用基类和接口进行变量类型的声明,参数类型的声明,数据类型转换(也是向高层次的抽象类转),而不要阅读全文
posted @ 2017-09-06 16:14 一面千人 阅读(101) 评论(0) 编辑