【问题标题】:Design of utilities for diffrent versions of 3rd party library为不同版本的 3rd 方库设计实用程序
【发布时间】:2011-05-14 17:56:03
【问题描述】:

我继承了一个应用这种解决方案的项目:

第 3 方库有 5 个版本。解决方案中有 5 个项目,其中包含相应版本的 3rd 方库的实用程序。

解决方案中的很多实用程序类对于所有版本的 3rd 方库都有相同的代码。这样就解决了重复问题——所有项目需要相同的代码文件存储在某个公共文件夹中,并作为链接添加到所有项目。

我不认为使用链接来共享代码是最好的方法。 您能否告诉我这是否是一种不好的方法,如果是,请告诉我 .resolve 此类代码重复的正确方法是什么?

提前致谢。

【问题讨论】:

    标签: .net versioning libraries software-design code-reuse


    【解决方案1】:

    这是否“不好”是相当主观的。

    链接代码文件可能是有原因的 - 有时需要在多个项目之间共享这样的文件。

    根据不同版本之间第三方库的不同 - 可能会编写一些包装代码来处理这些差异并将其隔离开来。

    【讨论】:

    • 我想过写wrapper,但在我的情况下它不适用有两个原因 - 1. API很大(数百个类)并且编写wrapper并非易事; 2. 编写包装器类会将重复问题转移到包装器。
    • 您可以使用一两个模板自动完成大部分工作,生成接口,然后根据库版本简单地启动所需的包装器实现。但是,是的,仍然需要做大量的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2023-03-30
    相关资源
    最近更新 更多