本章中由炒股引出了一段小故事:炒股风险较大,并且需要时刻关心所买股票的起落,并且还要研究很多支股票的背景、行情、走势等等。故事中推荐炒基金而非炒股,原因是只需要关心基金的起落即可,虽然基础也是基金人用客户的钱去炒股,但至少客户不用去关心多只股票。(不过我认为炒基金也是要了解多只基金情况才好的吧,不同处是基金比股票要少很qq :P)
外观模式
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这一接口使得这个子系统更加容易使用。
例子程序如下:
由于Facade的作用,客户端可以根本不知道三个子系统类的存在。(个人觉得这个模式很像是“适配器模式”,在这个例子中的相似,相关“适配器”的章节还未读到,到时再加以比较!)
何时使用外观模式
分三个阶段:
- 在设计初期,应该要有意识的将不同的两个层分离,层与层之间建立外观
- 在开发阶段,可以提供一个简单的接口减少它们之间的依赖
- 在维护一个遗留的大系统时,可能这个系统已经非常难以维护和扩展了。可以为新系统开发一个外观类,来提供设计粗糙或高度复杂的遗留代码的比较清晰的接口,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作。
还是觉得像“适配器”模式,Adapter模式:将一个接口转换为客户想要的另外一个接口,适配器模式使接口不兼容的那些类可以在一起工作。这两种模式本质是不同的,这个我清楚,但可能是这个例子用的不太好,总之还是认为这个老系统-新系统的模式很像适配器!