2016-07-04 73 views
0

我有应用程序,它有2个部分(2个独立的应用程序):设计器(称为ConfigurationBuilder)和执行器(称为ConfigurationExecutor)。c#根据条件访问方法

有一个类库对象由Manager类组成,它由上述应用程序共享。在ConfigurationBuilder中,用户可以在其中使用Manager类的方法的地方运行自定义代码,并且这些方法将创建对象。 (序列化并创建DbTables)

ConfigurationExecutor用户使用Manager类的方法,这些方法将在表上创建行。

现在,我想阻止用户在ConfigurationBuilder中使用API​​,它与ConfigurationExecutor相关,反之亦然。

欣赏分享最佳做法。

谢谢。

+3

某种这些接口实现类图在这里可能会有帮助吗?这个问题很难理解 – Liam

+2

这个问题让我感到困惑......构建一个API意味着,其他人也应该使用它。此外,你有没有听说过“内部”和“私人”? – lokusking

+0

为什么不将Manager类分成BuildManager和ExecutionManager? –

回答

1

创建两个接口不同的方法 想这是你的经理类接口

class Manager() 
{ 
Method1(); 
Method2(); 
Method3(); 
Method4(); 
} 

鸿沟方法

IMethodsForConfigurationBuilder 
{ 
    Method1(); 
    Method2(); 
} 


IMethodsForConfigurationExecutor 
{ 
    Method3(); 
    Method4(); 
} 

在经理

Manager : IMethodsForConfigurationBuilder, IMethodsForConfigurationExecutor 
{ 
Method1(); 
Method2(); 
Method3(); 
Method4(); 
} 

// Now in your ConfigurationBuilder class 

{ IMethodsForConfigurationBuilder Manager = new Manager();} 

//and in your ConfigurationExecutor classs call 

IMethodsForConfigurationExecutor Manager = new Manager(); 
+0

这看起来更好。我会测试并回来。谢谢。 – Tim