在Microsoft.Aspnet.Identity.Core中使用了什么样的设计模式?

时间:2014-02-02 22:22:38

标签: design-patterns architecture multiple-inheritance abstraction asp.net-identity

我非常好奇微软如何提出新身份模型中使用的架构。

我所知道的是有模型作为准系统属性的接口。存在用于无疑/基本数据访问和存储的存储(接口),以及管理器(实际类),我认为它包含用于创建/更新资源的逻辑(我假设,以避免重复记录和其他验证)。

“框架”看起来他们希望我们实现给定的模型(用于自定义属性)和存储(用于指定存储机制)。

我认为这种架构对于构建具有公司特定对象的系统非常有用,但我不知道在哪里寻找指导或有关此的更多信息。在构建类似于Asp.net Identity的架构时应该和不应该做什么?

1 个答案:

答案 0 :(得分:1)

我认为描述UserManager的最佳设计模式是所有各种商店界面的外观。 IUserStoreXXX接口旨在使每个接口都可用于存储实现,并且无论实际存储提供什么功能,都可以安全地使用默认UserManager。

另一种模式是工作单元,商店隐含期望尊重这一点,只保存核心IUserStore CRUD方法内的变化。