gpt4 book ai didi

c# - 自引用构造函数。这个图案有味道吗?

转载 作者:行者123 更新时间:2023-11-30 12:22:53 25 4
gpt4 key购买 nike

我正在为一位高级 开发人员进行代码审查,他们实现了一种非常奇怪的设计模式。

public class A : ABase
{
private ABase aBase { get; }
public A(A a)
{
aBase = a;
}
public A () {}
//loads of stuff depending on aBase being initialised
}

全程使用A()构造函数,然后将构造好的对象像这样传回A(A)构造函数

var a = new A();
//a is not usable at this point.
var b = new A(a);
//b is usable.

我的问题:这是一个合法的设计模式吗?如果不是,初级开发人员如何接近 高级 开发人员对代码库做一些疯狂的事情。

最佳答案

Is this a legitimate design pattern?

是的。这看起来很像 Decorator模式,您可以在其中使用组合向您的类添加行为,而不会用太多的子类爆炸您的 API。该模式是否适合您的上下文取决于您未向我们展示的其余代码。

语句 var b = new A(a); 据说用额外的行为装饰了 A 的现有实例。将其与 Strategy 进行比较为每个行为排列/组合创建新子类的模式。

And if not, how does a junior developer approach a senior developer doing something crazy to the code base

这个问题超出了 StackOverflow 的范围。但如果我必须回答这个问题,正确的方法是尽可能多地阅读并以开放的心态接近你的前辈。

关于c# - 自引用构造函数。这个图案有味道吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39039038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com