.NET包装类

.NET包装类

问题描述:

包装类应该是实例类还是具有共享成员的类?我需要围绕第三方库创建一个包装类,只展示2个函数,并隐藏第三方类的所有复杂性。.NET包装类

+2

“它取决于”。包装的方法实例方法?在隐藏复杂性的过程中,你需要维护状态吗? – 2009-06-22 20:26:36

简单的规则在这里。如果第三方库的类是实例类,让你的包装一个实例类;如果第三方中的类是静态类,请将其包装为静态类。包装类的概念通常是模仿结构,但只是隐藏复杂性/高级/不需要的功能。

,而我能想到的唯一的例外是,第三方库设计不当的情况下,和一个实例类应该真的存在一个静态类。当然,如果你是在这样一个水平包裹功能,你的包装函数实例化一个新的类,它应该是一个静态类内声明。

这真的取决于第三方库...如果是有意义的有独立的国家的lib的多个独立实例,则实例方法是合适的。如果它是无状态方法,那么静态/共享API将是适当的。

除非您需要它来实现一个接口,在这种情况下,它的已将设置为基于实例。