你的位置:首页 > 软件开发 > ASP.net > 使用函数参数降低耦合

使用函数参数降低耦合

发布时间:2016-05-20 17:00:06
开发人员通常都会选择最熟悉的语言特性来描述组件之间的契约,对于大多数开发者来说,一般会使用基类或接口来定义其他类型所需要的方法,然后根据这些接口编写代码,通常来说这没什么问题,不过使用函数参数能够让其他开发者在使用你的组件和类库时更容易些。使用函数参数意味着你的组件无需负责提供类 ...

  开发人员通常都会选择最熟悉的语言特性来描述组件之间的契约,对于大多数开发者来说,一般会使用基类或接口来定义其他类型所需要的方法,然后根据这些接口编写代码,通常来说这没什么问题,不过使用函数参数能够让其他开发者在使用你的组件和类库时更容易些。使用函数参数意味着你的组件无需负责提供类型所需的具体处理逻辑,而是将其抽象出来,交给调用者实现。

  我们都已经熟悉了通过接口或抽象类来实现分离,不过有些时候,定义并实现接口仍旧显得过于笨重,虽然这样做复合了传统get='_blank'>面向对象的理念,不过其他的技术则可以实现更简单的API。使用委托一样可以创建契约,同时也降低了客户的代码量。我们的目的是尽可能的将你的工作与客户使用者代码分离,降低两者之间的依赖,如果不这样做的话,会给你和你的使用者带来不少的困难。你的代码越是依赖其他代码,就越难以单元测试或在其他地方重用。从另一方面考虑,你的代码越是需要客户代码遵守某类特定的模式,那么客户也会承受越多的约束。

使用函数参数即可降低你的代码与其他使用者的偶合程度。如下示例:.Net内部类List<T>中

 使用函数参数降低耦合

List<T>.RemoveAll()方法就接受了一个委托类型PrePreDicate<T>,当然.Net的设计者也可以通过定义接口来实现该方法。

//带来不恰当的额外耦合public interface IPredicate<T>{  bool Match(T soughtObject);}public class List<T>{  public int RemoveAll(IPredicate<T> match)  {    //省略    return 0;//共移除多少条记录  }  //其他API省略}//第二个版本的使用方式就有些复杂public class MyPredicate : IPredicate<int>{  public bool Match(int soughtObject)  {    return soughtObject < 100;  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:使用函数参数降低耦合

关键词:函数

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。