【发布时间】:2013-04-07 14:53:32
【问题描述】:
“Uncle Bob”Martin 在“敏捷软件开发”pp318-9 中提出了一个很好的论点,即“接口属于客户端,而不是衍生产品......客户端往往与他们控制的接口打包在一起”。
在实践中,人们如何使用静态类型语言来封装与客户端的接口?从单个接口的角度来看——一个好的 OO 接口有几个实现——Martin 的建议是有道理的。但是在包级别,每个服务器通常都有许多客户端,并且让服务器依赖于它的客户端似乎会使依赖关系箭头指向错误的方向。事实上,在后面的“封装设计原则”中,Martin 引入了一个格言“依赖于稳定性的方向”,它直观地暗示了客户端 -> 服务器。
【问题讨论】: