摘要:
第17章 Composite模式 我们常常会软件世界中观察到这样一种现象:把同种物体组合之后得到的组合物体跟构成它的单独的物体在行为上没有发生变化。举些例子来说明:如果你有几幅图片,你可以把它们组合起来形成一幅更大的图片;如果你有几个代数算式,你可以把它们组合起来形成一个更复杂的算式;如果你有几个2维图形,你可以把它们组合起来形成一个更大的2维图形;如果你有几条命令,你可以把它们组合起来形成一个更... 阅读全文
摘要:
第15章 Adapter模式 Adapter模式是一种简单的模式。当我们需要使用一个现成的类,但它的接口又跟要求的接口有出入时,我们就使用Adapter模式把这个现成的类适配到目标接口。我们下面来看一个具体的例子。 假设我们在开发一个2维图形程序。在这个程序中,需要乃至若干形状类,如点、直线和矩形。为了给这些开关类建模,我们设计了一个Shape接口,如下所示。 现在新的需求来了。我们希望加入对圆形... 阅读全文
摘要:
第14章 State模式 我们在开发软件时有时会遇到有限状态机(FSM),我们需要使用高效的方式来实现有限状态机。但是,在更多的时候,我们却忽视了有限状态机,忘记了使用FSM来对复杂的软件行为进行建模。实际上,FSM是软件宝库中最有用的抽象之一,它们提供了一个简单、优雅的方法去提示和定义复杂系统的行为。FSM同样也提供了一个易于理解、易于修改的有效实现策略。本章中学习的State模式正是研究如何优... 阅读全文