我有一个巨大的类A,我想重构并提取一个具有某些行为的部分类。现在我不想A一步重构为 10 个部分类,但我想首先采取第一个行为,将其B重构为C.
然后A它作为一种main意志接受DI方式B并将C它们用作帮助者。
我的问题是这样的:
因为这是一个部分重构(连续的......)B并且C依赖于一些逻辑,A它不可能重构A为B并且C没有B并且C依赖于A逻辑,否则我需要立即A分解为 10 或 20 个类。
我剩下的是:
B并C接受(丑陋)A方式DI虽然丑陋,但这将允许我进行连续重构事件更糟糕A的是尚未准备好尚未构造,直到我用助手调用它的构造函数B和C.- 做完整的重构——做不到!它太复杂太冒险了,我更喜欢一步一步来——所以它也是不可接受的!我需要在重构中采取小步骤并逐步构建重构。每次我接触任何代码时,我都会做一些清理和重构(遗留代码),不能一次重构整个事情。
DI使用 setter 也不可接受,我更喜欢依赖于ctor.
对此有什么想法吗?有什么模式吗?