接口和实现

接口与实现分离。

Parnas 原则:

  • 必须向目标用户,提供用来有效使用组件所必须的服务信息。
  • 必须向软件组件开发者提供用来执行组件职责,所必需的信息。

中国人翻译的书太差了。。。再也不买书了,看电子书吧。。

 

 

通常使用接口的时候,需要使用到很多的额外数据,并且每个不同的实现都有不同的要求,那么这样的问题该怎样解决呢?

目前有3中方式:

1。 使用IOC方式,这样需要的数据从配置中注入,但是显然仅仅适用于插件开发的时候。

2。 使用Params[] ,这样也不错,可以有效的提供数据,例如在使用公有的记录日志的方法。但是不够面向对象。

3。 使用一个简单的对象,这种只适用于目的性明显的情况。

4。 使用Context--hashtable,这种比较复杂,但是可以很好的解决大多数情况,并且对于扩展性也不错,可以在扩展整个流程时,传输需要的数据。

你可能感兴趣的:(接口)