编程艺术之外观模式


    外观模式这个模式讲了一个关于投资的故事,使我这个股票不懂,基金不懂的人也懂了一点关于这方面的东西。股票和程序一样耦合性不能太高了。

    一、从股票到基金

    如果新手买股票就容易亏损,因为新股民没有足够了解证券知识的情况下做股票。股民要了解股票的各种信息,需要预测它的未来,还要买入和卖出的时机合适。股民自己投资股票,于是对众多股票的联系太多,反而不利于操作。也就是说股民和股票的耦合度过高了。

    基金就是投资者把钱交给基金来管理投资,基金将投资者分散的资金集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域,而基金投资的收益持有投资者所有,管理机构收取一定比例的托管管理。这样专业的基金经理人相对专业,所以就不容易像散户那么盲目,亏损的几率就小了很多。而投资者只需选择购买一支好的基金就行了,其他的就不容易关心那么多了,虽然钱赚得少了,但还是比较稳妥。投资者购买基金也就是降低了耦合度。

    二、外观模式

    外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。在外观模式结构图中可以看出,Façade外观了知道哪些子系统类负责处理请求,将客户的请求代理给适当的子系统对象。它需要了解所有的子系统的方法或属性,进行组合,以备外界调用。而SubSystem Class子系统类集合实现子系统的功能,处理Façade对象指派的任务。由于Façade的作用,客户端可以根本不知三个子系统类的存在。

          

    可以看出,外观模式体现了依赖倒转原则和迪米特法则的思想。

    那什么时候使用外观模式呢?首先,在设计阶段,应该要有意识的将不同的两个层分离,这样可以为复杂的子系统提供一个简单的接口,使得耦合度大大降低。其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用时也都会产生很多很小的类,这本是好是,但也给外部调用它们的用户程序带来了使用上的困难,增加外观Façade可以提供一个简单的接口,减少它们之间的依赖。最后,在维护一个遗留的大型系统是,可能这个系统已经非常难以维护和扩展了,但因为它包含非常重要的功能,新的需求开发必须要依赖于它。此时用外观模式也是很合适的。可以为新系统开发一个外观类,来提供设计粗糙或高度复杂的遗留代码的比较清晰简单的接口,让新系统与Façade对象交互,Façade与遗留代码交互所有复杂的工作。

    三、总结

    外观模式就是给程序加个简单的接口,将耦合度降低,降低了程序在设计开发维护阶段的复杂程度。所以说,外观模式是依赖倒转和迪米特法则思想的完美结合。

 

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值