包装类应该是实例类还是具有共享成员的类?我需要围绕第三方库创建一个包装类,只展示2个函数并隐藏第三方类的所有复杂性。
答案 0 :(得分:3)
这里简单的规则。如果第三方库中的类是实例类,请使您的包装器成为实例类;如果第三方中的类是静态类,请使您的包装器成为静态类。包装类的想法通常是模仿结构,但只是隐藏复杂性/高级/不需要的功能。
我能想到的唯一例外是第三方库的设计很差,而实例类应该作为静态类存在。当然,如果你将功能包装在你的包装器函数实例化一个新类的水平上,那么它应该在静态类中声明。
答案 1 :(得分:1)
这实际上取决于第三方库...如果将具有单独状态的lib的多个单独实例有意义,那么实例方法是合适的。如果它是无状态方法,那么静态/共享API将是合适的。
除非您需要它来实现接口,否则 基于实例。