我有一个有趣的场景,我一直在考虑,想知道 SO 可能有什么解决方案,以获得比我想出的更优雅的解决方案。
考虑以下类型
public class Session : ISessionGraphTransitionHandler
{
public void Handler1()
{
// do stuff that leverages this object instance
}
public void Handler2()
{
// do stuff that leverages this object instance
}
// ...
public void HandlerN()
{
// do stuff that leverages this object instance
}
private Graph sessionGraph;
public Session()
{
sessionGraph = new Graph(this); // where ISessionGraphTransitionHandler is expected
}
}
目前界面看起来是这样的:
public interface ISessionGraphTransitionHandler
{
public void Handler1();
public void Handler2();
...
public void HandlerN();
}
所有这一切的问题是外部参与者可以调用sessionInstance.Handler1()
internal 似乎可以在某种程度上解决这个问题,但我正在寻找其他解决方案。这里的想法是图形应该调用父类。这是设计的味道吗?有没有更好的方法来解决这个问题?
ACTUAL 类型未清理并张贴在这里。稍后我可能会清理它们。