C# 以下场景中要遵循的设计模式
我有三种不同类型的设置(每个设置对应一个类)。考虑一下,我们知道必须遵循的设置(比如说< <强> 1, 2和3 < /强>)。现在,每个设置都需要不同的设置C# 以下场景中要遵循的设计模式,c#,.net,oop,design-patterns,dependency-injection,C#,.net,Oop,Design Patterns,Dependency Injection,我有三种不同类型的设置(每个设置对应一个类)。考虑一下,我们知道必须遵循的设置(比如说< 1, 2和3 < /强>)。现在,每个设置都需要不同的设置 假设我们有设置B、设置C、设置D,这是除设置A之外的所有三种设置所共有的设置。所以,我所做的是,我为所有设置类型(a、B和C)提供了一个通用的界面设置 对于每个设置类型,只有此方法将公开,以便为每个设置配置 在设置A中,我们有子设置(子设置SAA、子设置SAB、子设置SAC)。 为此,我有一个用于设置A的抽象类,它由SubsetingAA,Sub
为此,我有一个用于设置A的抽象类,它由SubsetingAA,SubsetingAB,SubsetingAC继承
abstract class SettingA : IConfigureSettings
{
List<SettingA> _subSettings;
public void ConfigureSettings()
{
//Should Perform configuration for the given site. This is what I need.
}
}
尽管如此,我认为你问题的第一部分似乎是创造性的,而构建者模式似乎是最匹配的。我将使用组合(通过接口)根据子设置设置配置。此外,配置A类和子设置SAC类似乎是配置类和子设置类的基类。稍微修改了这个问题。为子设置添加了更多场景。很抱歉给您带来不便。我认为我们没有足够的信息来提供设计建议。如果不了解这些类的更多信息,我们就不知道多态性或泛型在多大程度上是合适的,或者什么支持模式可能是有用的。还有大量的信息,我们很难处理。我理解这是问题本质的一部分,但您最好尝试确定一些更具体的问题,并将重点放在这些问题上,再加上一些最小的代码(甚至只是接口规范),这样更好吗?如果你对此有任何疑问,请告诉我。如果需要更改现有的类结构或任何其他内容,请告诉我。我需要知道我应该在ConfigureSettings()中做些什么来设置A以实现上述场景。是的,更好!有一件事,您想用第三个代码段表明什么?是,例如,
ConfigurationB()代码>类<代码>子设置SAA < /代码>?是的,考虑配置B()是类子设置SAA中的一种方法。对不起,功能不合适names@demoncodemonkey我认为评论比编辑更能与海报沟通。但是,我同意您在编辑说明中留下的评论。我添加了对该页面的引用,在该页面中可以找到该文本。(我在谷歌上搜索了一下,找到了两个地方,第二个是我链接的地方)谢谢编辑。我在报价的开头添加了一个超链接。我想这更明显。你是对的,我现在明白了。很高兴我找到了正确的来源:-)是的,我认为在引用之前或之后明确提及来源是引用文本的正确方式。
abstract class SettingA : IConfigureSettings
{
List<SettingA> _subSettings;
public void ConfigureSettings()
{
//Should Perform configuration for the given site. This is what I need.
}
}
class SubSettingsAA : SettingA
{
ConfigurationB();
}
class SubSettingsAB : SettingA
{
ConfigurationA();
ConfigurationB();
}
class SubSettingAC : SettingA
{
ConfigurationC();
ConfigurationD();
}