门面模式

https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=968f1a71b80e7bec37d70bb34e47d25d/0e2442a7d933c8957ecd9605d11373f082020018.jpg

 

Facade

这个外观类为子系统们提供一个共同的对外接口

 

Clients

客户对象通过一个外观接口读写子系统中各接口的数据资源

 

在以下情况下可以考虑使用外观模式:

(1) 设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。

(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。

(3) 维护一个旧系统的时候,系统已经非常难以修改,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。

 

适用场景:

(1)实现了子系统与客户端之间的松耦合关系。

(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。

 

迪米特法则(最少知道)

合成复用原则(多拼凑,少继承)

 

缺点:不符合开闭原则(扩展开放、修改关闭)

        接口隔离(多个专用接口替代一个统一的接口)

 

 

 

mybatis org.apache.ibatis.session.Configuration

slf4j        StaticLoggerBinder

Spring JDBC中的JdbcUtils

Tomcat  Facade  RequestFacade

https://github.com/apache/tomcat/blob/3e5ce3108e2684bc25013d9a84a7966a6dcd6e14/java/org/apache/catalina/connector/RequestFacade.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值