facade(佛萨德)设计模式

本文记录了与可为林讨论facade设计模式的心得。facade是模块接口,粒度较大,如jndi、jdbc是数据库与基层代码间的facade,o/r mapping层可用jdo或hibernate。软件分层后,层间和同层模块间都需facade,以实现松散耦合,但作者表示仍需深入研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天跟可为林讨论了一下facade的设计模式。有了一些心得,现在记录下来。

facade的英文意思是建筑物的正面,也就是一个正面的接口,所谓设计模式,就是从建筑行业中衍生出来的东西,比如设计一个尖顶形状的塔楼,你可以这样做,也可以那样做,也许,最后建筑起来的结果是一样的。但是,如果用某种方式,比如先造钢筋,后造混凝土的方法,比较合理。那末,久而久之,这就形成了一种设计模式,用它可以提高生产力。

facade就是一个模块的接口,粒度可以说是比较大的,可以有层与层之间的facade,比如jndi,jdbc都是这个类型的facade,我不管你的数据库用的是oracle,sql server,还是什么,在数据库和基层代码之间的接口,就是一个facade.再比如,在o/r mapping这个层次的东西,你可以用jdo,你也可以用hibernate,最终就是要一个这方面的两个东西,来把他们接起来。

软件发展过来,越来越分层。层和层之间的东西是这样,有一些固定的接口。

同一个层次上面的不同的模块之间也要有facade的概念,比如费用管理,招投标,他们之间有接口,怎么想办法把他们弄好,相对之间比较独立,各自程序之间内聚性强,模块之间松散耦合,这就很重要。

其实,我还是不懂facade,有机会研究一下。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值