我最近继承了一些代码,我无法弄清楚其中一个类的架构背后的原因。该课程看起来像这样:
[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模式。
答案 0 :(得分:0)
看起来有点像Memento的Snapshot variant,但也许封装正在汇编级别(因此是内部)使用。您能看到Caretaker
和Originator
角色是否在某处填充?