浅谈设计模式之外观模式
2016-05-20 21:41
176 查看
外观模式(Facade)为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
举个栗子,比如你要去买股票,这就需要在数千股票中选择合适的股票,而如果你去买基金(虽然基金也有好多种……),这一种基金就可以整合多种股票。
我比较懒,而且这个代码比较简单,我就直接盗UML图了……
外观模式整合了不同类,对外提供了统一的接口。比如在进行初始化或者刷新等操作时,就可能涉及到多种初始化和多种刷新操作,但是我们只需要调用这一个刷新的接口就可以了。这个可以应用于网络通讯系统,资料库系统增删改查等等,个人感觉,这个其实也类似于提供一个统一的函数接口,嗯,也就是说其实很多人已经学会这种设计模式了~。
关于外观模式的应用可以分为三个阶段来说。首先,在设计初级阶段,就应该有意识将不同的两个层分离;其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,这时增加外观模式来提供一些简单的必要的接口,可以减少彼此之间的依赖或者说耦合性。还有,在维护一个遗留的大型系统的时候可能这个系统已经非常难以维护和扩展时,这时为系统增加外观Facade类,Facade类内部则关注与旧系统的交互,同时也提供一些必要的接口供新系统使用,两者互不干扰。
参考书籍:《大话设计模式》
举个栗子,比如你要去买股票,这就需要在数千股票中选择合适的股票,而如果你去买基金(虽然基金也有好多种……),这一种基金就可以整合多种股票。
我比较懒,而且这个代码比较简单,我就直接盗UML图了……
外观模式整合了不同类,对外提供了统一的接口。比如在进行初始化或者刷新等操作时,就可能涉及到多种初始化和多种刷新操作,但是我们只需要调用这一个刷新的接口就可以了。这个可以应用于网络通讯系统,资料库系统增删改查等等,个人感觉,这个其实也类似于提供一个统一的函数接口,嗯,也就是说其实很多人已经学会这种设计模式了~。
关于外观模式的应用可以分为三个阶段来说。首先,在设计初级阶段,就应该有意识将不同的两个层分离;其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,这时增加外观模式来提供一些简单的必要的接口,可以减少彼此之间的依赖或者说耦合性。还有,在维护一个遗留的大型系统的时候可能这个系统已经非常难以维护和扩展时,这时为系统增加外观Facade类,Facade类内部则关注与旧系统的交互,同时也提供一些必要的接口供新系统使用,两者互不干扰。
参考书籍:《大话设计模式》
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- Ruby设计模式编程之适配器模式实战攻略
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- Ruby设计模式编程中对外观模式的应用实例分析
- 实例解析Ruby设计模式编程中Strategy策略模式的使用
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- Ruby使用设计模式中的代理模式与装饰模式的代码实例
- 详解组合模式的结构及其在Ruby设计模式编程中的运用
- C#编程中使用设计模式中的原型模式的实例讲解
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 实例解析C#设计模式编程中简单工厂模式的使用
- 详解C#设计模式编程中生成器模式的使用
- 深入解析C#设计模式编程中对建造者模式的运用