我最近遇到了一个接口,它只定义了一个setter,如下所示:
public interface IAggregationView
{
DataTable SetSiteData { set; }
}
我对此提出了质疑,并认为这是微软(针对SharePoint)所倡导的WebPart设计实践之一。事实上,这个例子是直接从他们的例子中复制过来的。
我认为这是一个糟糕的模式,我不明白为什么有人应该能够设置一个值,然后不能再次读取它,我认为setter应该总是伴随着一个getter (但不一定是相反的)。
我想知道是否有人能解释一下只有setter的好处,为什么微软会在这种情况下建议这样做,以及这是否真的是一个好的模式?
发布于 2012-09-17 19:49:50
我可以想象使用它进行(手动)依赖注入。一个类可能需要注入一个仅在内部使用的协作者。当然,人们通常会选择在类的构造函数中执行此操作,但有时可能会希望在运行时更改协作者。
https://stackoverflow.com/questions/12455849
复制相似问题