Какие шаблоны проектирования используются в Microsoft.сеть САШ.Идентичность.Ядро? [закрытый]


Мне очень любопытно, как Microsoft придумала архитектуру, используемую в новой модели идентификации.

Все, что я знаю, это то, что существуют модели как интерфейсы со свойствами barebones. Существуют хранилища (интерфейсы) для бесспорного/базового доступа к данным и их хранения, а также менеджеры (фактические классы), которые, как я полагаю, содержат логику для создания / обновления ресурсов (я предполагаю, чтобы избежать дублирования записей и другой проверки).

"фреймворк" выглядит так, как будто они хотят, чтобы мы реализовали заданные модели (для пользовательских свойств) и хранилища (для указания механизма хранения).

Я думаю, что эта архитектура очень полезна для построения системы с конкретными объектами компании, но я не знаю, где искать руководство или какую-либо дополнительную информацию по этому вопросу. Что следует и чего не следует делать при построении архитектуры, подобной Asp.net личность?

1 2

1 ответ:

Ну, я думаю, что лучший шаблон дизайна для описания UserManager - это фасад для всех различных интерфейсов магазина. Интерфейсы IUserStoreXXX были предназначены для того, чтобы сделать каждый из них необязательным для реализаций хранилища, с идеей, что UserManager по умолчанию будет безопасно использоваться независимо от функциональности, которую предоставляет фактическое хранилище.

Другой паттерн был бы единицей работы с неявным ожиданием, что магазины будут уважать это и только сохранять изменения внутри из основных методов IUSERSTORE CRUD.