【问题标题】:Refactoring a C# derived class with method dependancies重构具有方法依赖项的 C# 派生类
【发布时间】:2011-02-13 23:46:19
【问题描述】:

我想听听你对此的看法。

我有一个派生自基类的类。我无法控制基类中的代码,它对我从中派生的系统至关重要。

在我的班级中,我继承了两个对系统至关重要的方法,并且在几乎每个函数中多次使用。

我打算重构这个派生类并从中提取一些类——这不会是一个问题。我不确定的是,如果我必须不断地回调我的主类以访问这两种方法(或方法的公共包装器),是否值得提取类?

谢谢

【问题讨论】:

  • 好吧,重构我的代码并不是真正的问题——当我这样做时——每个类都需要调用回主类。我目前正在使用我的事件处理程序执行此操作 - 但在这种情况下它是有意义的。但是,实际上我创建的任何有用的类都需要调用回主类
  • 我没有发现任何问题 - 您是否担心对主类的依赖?除非使用 Proxy 或 Mediator 模式,否则提取的类不会改变。
  • 是的,这就是我所担心的。创建都依赖于一个类的类只是本能地感觉是错误的!!!

标签: c# design-patterns inheritance refactoring


【解决方案1】:

不确定您的情况,但重构是为了您和其他人的利益。您必须权衡重构的成本和代码维护的好处。方法提取(而不是复制和放置)的要点在于它集中它并使部署更改更容易。因此,如果您到处都有代码,那可能是值得的。

【讨论】:

    【解决方案2】:

    基于您对依赖关系的担忧,听起来您现在可能不得不让“主类”继续作为“前门”——即每个人都调用的类。让主类委托给提取的类,而不是相反。没有更多的细节,我能想到的就这么多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2014-07-25
      • 1970-01-01
      • 2015-07-07
      • 2020-01-20
      • 2018-05-02
      • 1970-01-01
      相关资源
      最近更新 更多