重构 — 改善既有的类图设计 条款6:模块的防火墙

重构 — 改善既有的类图设计
条款6:模块的防火墙

黄国强 2008/5/27


图 1
        看图 1 ,一个模块由A、B、C 三个类 组成,外部类可以访问类 A 。从图上看,外部类通过类 A 开始的依赖箭头可以访问到类 B 和 C 。显然这个模块的细节也暴露给外部类了。
        如果在设计上不想让外部类看到这个模块的细节,如何我们应该如何做到这点呢?请看图 2 。

图 2
        从图 2 看出,外部类只能看到类 A_Factory_Proxy、I_A_Factory 和 InterFace_A 。类 A、B、C 对外部类来说是不可见的。这里出现的类 InterFace_A 起到了防火墙的作用。工厂代理类 A_Factory_Proxy 的解释请看“ 条款 5 ”的描述。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acloud_csu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值