[Objective-C 设计模式]外观模式

          外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

优点:
1、降低了模块与模块之间的依赖,完美地体现了依赖倒转原则和迪米特法则的思想
2、只是提供了一个访问子系统的统一入口,并不影响用户直接使用子系统类
3、降低了大型软件系统中的编译依赖性,并简化了系统在不同平台之间的移植过程

缺点:

1、不能很好地限制客户使用子系统类,如果对客户访问子系统类做太多的限制则减少了可变性和灵活性
2、在不引入抽象外观类的情况下,增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则”

模式总结
1、 外观模式的主要优点就在于减少了系统与系统之间的关联对象,使用客户对子系统的使用变得简单了,也实现了客户与子系统之间的松耦合关系。它的缺点就在于违背了“开闭原则”。
2、 如果需要实现一个外观模式,需要将子系统组合进外观中,然后将工作委托给子系统执行。

项目地址:https://github.com/GameRisker/Study-Design-Patterns.git

参考:http://www.cnblogs.com/chenssy/(Java 版本)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.