Java Reinforcement 11 流

Java Reinforcement 11 流

流 流操作的整体步骤 中间操作 - 筛选和切片 中间操作 - 映射 查找 终端操作 - 归约 基本类型特化的流 其他应用 流 流可以说是操作集合的新方法, 结合前边的函数式编程, 可以更高效的编写代码, 可以看成是高级的迭代器. 流有几个术语: 元素序列, 就是一个流对象提供的接口, 可以访问到一组

Java Reinforcement 10  函数式编程

Java Reinforcement 10 函数式编程

Java 8 的新特性主要是三大方面, 一是引入了lambda表达式, 二是引入了Stream流, 三是接口中的默认方法. 在看完了基于Java 5的Thinking in Java之后, 就来补一下Java 8 的知识了. 函数式编程其实在之前自己有看过书学习过, 这里根据《Java 8 实战》这

设计模式 09 Interpreter 解释器模式

设计模式 09 Interpreter 解释器模式

这个解释器模式可以说是终极的设计模式了. 也就是程序语言本身, 就像Java语言一样, 不管写了什么程序, 底层都在复用Java虚拟机. 有了这个东西, 等于只要修改对于问题的描述(语言), 而编写的解释器是一直可以复用的. Interpreter 模式 例子中使用的类 ProgramNode Co

设计模式 08 类的复用

设计模式 08 类的复用

到了最后的几种模式, 其实已经超过了简单对象的范畴, 都是复杂对象的组合了. 可以说是一种更大层面上的设计模式了. Flyweight 享元模式 练习 Proxy 代理模式 练习 Command 命令模式 练习 Flyweight 模式 这个模式的关键在于通过共享空间来避免new实例出来. 这个其实

设计模式 07 管理状态

设计模式 07 管理状态

管理状态一直是程序中一个很重要的因素, 毕竟从本质上说计算机就是一个状态机, 程序不过是改变计算机中电子的分布状态而已. Observer 观察者模式 练习 Memento 备忘录模式 练习 State 状态模式 练习 Observer 模式 这个模式相当经典, 一定要好好看, 其本质是在自身状态发

设计模式 06 简单化

设计模式 06 简单化

Facade 外观模式 练习 Mediator 仲裁者模式 练习 Facade 模式 这个模式其实很简单, 就是如果一个程序内部很复杂, 与其对外要求程序的使用者先做这个在做这个, 不如用一个东西包装一下, 用一个窗口对外即可. 用术语就是将互相关联在一起的类整理出高层接口API, Facade角色

设计模式 05 访问数据结构

设计模式 05 访问数据结构

Visitor 访问者模式 练习13-1 练习13-2 练习13-3 Chain of Responsibility 职责链模式 练习 Visitor 访问者模式 访问者模式用来访问一个数据结构. 虽然在刚学面向对象的时候, 说数据的自身处理和数据放在一起, 集成成为对象. 但如果要解耦的话, 实际

设计模式 04 分离功能和实现 一致性

设计模式 04 分离功能和实现 一致性

已经看完了8个模式, 继续前进了. Bridge 桥接模式 练习 Strategy 策略模式 Composite 组合模式 练习 Decorator 装饰器模式 Bridge 桥接模式 桥接模式用来连接功能层次结构和实现层次结构. 听上去有点抽象, 什么是功能层次结构和实现层次结构. 我看了一下书上

设计模式 03 生成实例

设计模式 03 生成实例

对于面向对象的语言, 如何创建对象一直是一大学问, 这一章就是各种和创建对象有关的模式. Singleton 单例模式 练习 Prototype 原型模式 练习 Builder 建造者模式 练习 Abstract Factory 抽象工厂 练习 Singleton 单例模式 单例模式可不简单的是我自

设计模式 02 模板模式和工厂模式

设计模式 02 模板模式和工厂模式

这一部分是模板模式, 外加模板模式的应用, 就是工厂模式. 多个互相组织好交互模式的模板, 就构成了框架. 这是我看这一部分最核心的心得. Template Method 模板模式 练习 Factory Method 工厂模式 练习 模板模式 什么是模板, 其实就是一套早已规定好的东西, 整体的操作