《Java并发编程 设计原则与模式》读书笔记(一)
面向对象系统=对象+行为。
以对象为中心的视角,一个系统是一系列互相联系的对象的集合;以行为为中心的视角,一个系统是一组可能发生的并发行为的集合。这两幅视图的任何一个都不能单独构成一个完整的系统,因为一个特定对象可能参与多个行为,而一个特定的行为也可能与多个对象相关。这两个视图中会产生两个相互依赖的有关正确性的问题,一个以对象为中心的,而另一个是以行为为中心的:
安全(Safety)。没有什么比无法保证一个对象的安全更糟糕的事情了。
活跃性(Liveness)。一个行为最终总是应该会发生的。
安全方面的错误会导致在运行时刻发生无法预期的行为——程序会朝着错误的方向发展。而活跃性方面的错误会导致没有任何行为发生——最终程序会停止运行。很多你可能认为提高活跃性的简单措施反而会破坏安全,反之亦然。
安全和活跃性的问题可以进一步扩展,它们会包含两类与软件质量有关的问题:
可重用性(Reusability)。在多个不同的上下文中使用对象和类。
性能(Performance)。一个操作/行为执行的快慢程度。
浙公网安备 33010602011771号