我被问到“实体框架中使用了哪种四种设计模式”。我真的想不出任何一个。
有人能帮助识别EF中的一些GOF设计模式吗?
发布于 2011-11-15 19:24:15
查看http://en.wikipedia.org/wiki/Design_Patterns_(book和那里列出的GoF-patterns,我列出了这个列表:
ObjectContext,它提供了一个CreateObjectSet<T>方法,它为给定的类型创建一个ObjectSet<T>。由于这些对象集是访问上下文中实体的主要方法,我想说它也是EF.ObjectContext.SaveChanges方法的各种重载,你可以从用于确定在已知entities.ObjectStateManager跟踪对实体所做的更改,并可用于访问这些信息,包括IQueryable公开的实体集,因为IQueryable应该被限定为“到大量代码的简化接口”。因为将这样的表达式转换成实体SQL并且特定于提供者的SQL是一个大的deal.ObjectContext提供了两个事件ObjectMaterialized和SavingChanges。由于.NET事件是观察者模式的实现,因此EF也适用于此模式。我在这里可能对命名模式非常慷慨,但通过深入挖掘,您可以发现EF实际上实现了这些模式的很多地方。但由于这本书已经出版了近20年,你可以预期其中一些模式被认为是一个标准,这是不值一提的。例如,观察者模式或迭代器模式(我没有提到,只是因为IQueryable实现了IEnumerable)。
https://stackoverflow.com/questions/8132133
复制相似问题