面向对象设计原则之接口隔离原则!!!

在现实中有这样的一种情况,在车站售票窗口总是排满人,而排队的人并不是都是为了买票而排的,其中有些人是查开车信息,有些人可能是为了退票,但他 们都必须按照车站的规矩排在同一窗口中。这时你会想到为什么不多开几窗口,每个窗口给予不同的功能,让不同需求的人排在不同的窗口, 这样就可以节约大量的时间和人力。

 同样,在软件设计中,“胖”接口会强制所有的继承的类型实现其所有的方法,而有些方法对于客户来说是无用的,这种情况对接口来说就是一个“浪费”,而接口隔离原则(ISP)正是应对这种情况而设计的标准。

  接口隔离原则的核心思想:

    使用多个小的专门的接口,而不要使用一个大的总接口。

 具体而言,接口隔离体现在:

 A.接口应该是内聚的,应该避免出现“胖”接口。

 B.一个类对另一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口污染。

接口分离的手段主要有以下两种:

1.委托分离,通过增加一个新的类型来委托客户的请求,隔离客户和接口的直接依赖,但会增加系统开销。

2.多重继承分离,通过接口多继承来实现客户需求,这种方法值得推荐。

以上就是我看了《你必须知道的.NET》的一些体会。我觉得这本写得真的非常好,很实际,值得一看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值