设计模式 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 工厂模式 练习 模板模式 什么是模板, 其实就是一套早已规定好的东西, 整体的操作

设计模式 01 迭代器和适配器模式

设计模式 01 迭代器和适配器模式

Java 编程思想看完, 重新强化了一下Java基础之后, 觉得功力有点增加了, 现在可以考虑看设计模式了. 果然, 现在发现可以很容易的就看明白了, 不像几个月以前感觉还是看天书一样. 这次就结合图解设计模式这本书来过一遍. 在看的过程中发现这本书写的相当早, 是在2001年就成书了, 其中的一些

Java Reinforcement 09 并发 - 线程协作

Java Reinforcement 09 并发 - 线程协作

资源共享和终止的例子 线程状态 打断任务 线程协作 生产者消费者模型 同步队列 管道 之前的线程都是一个运行到自己结束的任务, 但有些时候, 多线程程序的各个线程是一直在工作的, 需要得到外部的消息来是否继续运行. 同时各个线程也会有共享数据, 比如一个统计多个门进入人数的程序: import ja

Java Reinforcement 08 并发中的资源竞争

Java Reinforcement 08 并发中的资源竞争

CSAPP里讲到并发的时候需要关注程序执行的逻辑流, 如果逻辑流有冲突, 就会造成不可预知的结果, 如果要操作资源, 要先定义好哪一片是临界区域, 在临界区域开头和结尾采取同步方式. 这次就要来看看Java里对于这个是如何使用的. 先记住Java 编程思想的 同步规则: 如果你正在写一个变量, 它可

Java Reinforcement 07 并发基础知识

Java Reinforcement 07 并发基础知识

并发的基础理论在看过CSAPP之后都不是事了, Java 使用的是在一个进程中的多线程技术, 而不是多任务操作系统中还可以使用的多进程系统. 这是为了让程序可以一次编写多次运行. 当然, 有着这样的限制, 也就不能像系统编程一样fork一个新进程来执行程序了. 任务 启动多线程任务 使用Execut

Java Reinforcement 06 注解

Java Reinforcement 06 注解

在学习Java的过程中, 注解关注的不多, 这次就来看一下. 注解 创建注解, 使用注解 和 获取注解的元数据 深入看注解 注解 注解的核心就是给被注解的内容添加一些元数据. 可以把元数据和代码结合在一起. 加上注解的类或者方法, 实际就是代表了一种元数据. java.lang中有三个注解: @Ov