C# 在.net中重构基本系统逻辑

C# 在.net中重构基本系统逻辑,c#,.net,refactoring,C#,.net,Refactoring,我正在寻找解决方案(asp.net C#)来重写大约10年前创建的项目的核心,这些年来没有任何全球变化。我要重写的组件包含基本系统逻辑,用于多线程环境,包含数千行代码。单元测试只覆盖了代码的30%。但是(当然)重构之后,我没有机会打破某些东西 问题是:实现这一点的最佳方法是什么?有什么图书馆吗 编辑1:源代码不奇怪,有一点意大利面代码,数据库设计很好,没有重复代码,但项目的结构需要完全重新考虑:oop模式的更改,断开实现,用策略或发布者/订阅者替换模板方法模式,等等类似的问题。这是关于Java的

我正在寻找解决方案(asp.net C#)来重写大约10年前创建的项目的核心,这些年来没有任何全球变化。我要重写的组件包含基本系统逻辑,用于多线程环境,包含数千行代码。单元测试只覆盖了代码的30%。但是(当然)重构之后,我没有机会打破某些东西

问题是:实现这一点的最佳方法是什么?有什么图书馆吗


编辑1:源代码不奇怪,有一点意大利面代码,数据库设计很好,没有重复代码,但项目的结构需要完全重新考虑:oop模式的更改,断开实现,用策略或发布者/订阅者替换模板方法模式,等等

类似的问题。这是关于Java的,但我认为方法是一样的。代码已经存在了10年,不需要做大量的工作,状态不是特别差,具有良好的数据库,在多线程环境中安全工作,为什么需要重构?驱动力是什么,你希望你实现什么?它目前的结构是否造成了太多的摩擦?如果没有令人信服的理由,那么就不要……原因是要更快更容易地添加新功能。当前的项目结构不是松散耦合的,并且(超级)基类中的每一次更改都会迫使更改其所有子类。有3-4个超基类,其他100多个类是它们的后代。我想创建更灵活的结构,在这里我可以扩展类,而不是根据打开/关闭原则更改它们类似的问题。这是关于Java的,但我认为方法是一样的。代码已经存在了10年,不需要做大量的工作,状态不是特别差,具有良好的数据库,在多线程环境中安全工作,为什么需要重构?驱动力是什么,你希望你实现什么?它目前的结构是否造成了太多的摩擦?如果没有令人信服的理由,那么就不要……原因是要更快更容易地添加新功能。当前的项目结构不是松散耦合的,并且(超级)基类中的每一次更改都会迫使更改其所有子类。有3-4个超基类,其他100多个类是它们的后代。我想创建更灵活的结构,在那里我可以扩展类,而不是根据开放\关闭原则更改类