概念介绍
外观模式是隐藏了系统的复杂性,能够为子系统中的一组接口提供一个统一的接口。客户在使用系统时不必和子系统打交道了,降低了客户和子系统间的耦合。
在外观模式中主要包含如下几个角色。
1、门面角色(facade):这是外观模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。
2、子系统角色(SystemA、SystemB、SystemC):实现了子系统的功能。对子系统角色来说,facade角色与客户角色一样,是未知的,它没有任何facade角色的信息和链接。
3、客户角色(client):调用facade角色来完成要得到的功能。

外观模式的优点
1、对客户端屏蔽了子系统组件,减少了客户端处理的对象数量,也减少了客户端的代码量。
2、实现了客户端和子系统的松散耦合,使得子系统个变化不会影响到调用它的客户端,只需要改变外观类即可。
3、一个子系统的变化不会影响到另一个子系统,子系统内部变化也不会影响到外观对象。
外观模式的缺点
1、不能很好地限制客户端直接使用子系统类,如果对客户端访问子系统类做太多的限制则减

外观模式是设计模式之一,旨在隐藏系统的复杂性,为子系统提供统一接口。它包括门面角色和子系统角色,减少客户端与子系统间的耦合。优点是减少代码量,实现松耦合,但缺点是可能限制了子系统类的访问,并在增加新子系统时需修改外观类。适用于需要简单入口访问复杂子系统或层次化结构的情况。
最低0.47元/天 解锁文章
1486

被折叠的 条评论
为什么被折叠?



