就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。
10年前关闭。
我被问到“ Entity Framework 中使用了哪四种设计模式”这个问题。我真的想不出来。
任何人都可以帮助识别 EF 中的一些 GOF 设计模式吗?
最佳答案
看http://en.wikipedia.org/wiki/Design_Patterns_(book ) 和那里列出的 GoF 模式,我想出了这个列表:
ObjectContext
提供CreateObjectSet<T>
方法,它创建一个 ObjectSet<T>
对于给定的类型。由于这些对象集是在上下文中访问实体的主要方法,我想说它也是 EF 中使用的一个非常重要的模式。 ObjectContext.SaveChanges
的各种重载方法,您可以从用于确定对已知实体所做更改的不同策略中进行选择。 ObjectStateManager
跟踪对实体所做的更改,并可用于访问这些信息,包括原始值。 ObjectContext
提供两个事件ObjectMaterialized
和 SavingChanges
.由于 .NET 事件是观察者模式的一种实现,因此 EF 也符合这一条件。 我可能对这里的命名模式非常慷慨,但是通过一些挖掘,您可以找到很多 EF 实际实现这些模式的地方。但是由于这本书已经出版了近 20 年,你可以期望其中一些模式被认为是一种标准,这不值得一提。例如 观察员 模式或 迭代器 模式(我没有提到,只是因为 IQueryable 实现了 IEnumerable)。
关于.net - .NET Entity Framework 中存在哪些设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132133/