什么样的模式有一个包含自身实例的类转换为接口?

时间:2015-06-18 18:11:43

标签: design-patterns interface

我最近继承了一些代码,我无法弄清楚其中一个类的架构背后的原因。该课程看起来像这样:

[Serializable]
internal class MyClass : MyInterface
{
    private DbModel dataModel { get; set; }
    private MyInterface IThis { get { return (MyInterface)this; } }

    public string SomeProperty { get { return IThis.SomeProperty } }
    ...
    string MyInterface.SomeProperty { get { return dataModel.GetSomeProperty(); } }
}

这是我从未见过的某种常见(或不常见)设计模式吗?我们为什么要这样访问这些属性?我们从中获得了什么好处?请注意,IThis不是静态的,因此它不是某种Singleton模式。

1 个答案:

答案 0 :(得分:0)

看起来有点像Memento的Snapshot variant,但也许封装正在汇编级别(因此是内部)使用。您能看到CaretakerOriginator角色是否在某处填充?

Snapshot pattern in PlantUML