Feature:特征,功能。
Feature是什么?Feature就是对function的分类方法,其与function的关系就比如Role和User的关系一样。
ABP中Feature具有以下属性: 其中最重要的属性是name,用以表示feature的Identity,一个feature一个name. 一个Feature可以有一组子Features,从而构成Feature树。
Feature
设计的整体流程:
FeatureChecker
作用:获取 Feaure
的值,FeatureChecker
类中定义的 FeatureValueStore
负责获取存储的值,IFeatureManager
负责管理 Feaure
。
Feature目录位置:
Feature
:定义应用程序的功能。可以在多租户应用程序中使用,根据版本和租户启用或禁用某些应用程序功能。
Feature
中验证:
FeatureScopes
:Feature
的范围;
FeatureDictionary
:Feature
字典;
IFeatureDefinitionContext/FeatureDefinitionContextBase
:在 FeatureProvider.SetFeatures
方法中用作上下文;
FeatureProvider
:Feature
提供者;
IFeatureConfiguration/FeatureConfiguration
:Feature
配置;
IFeatureManager/FeatureManager
:Feature
管理器;
提供 Initialize
初始化 Feature
:
IFeatureValueStore
:定义获取 Feature
值的存储接口;
NullFeatureValueStore
:IFeatureValueStore
接口的默认实现;
IFeatureChecker
:获取 Feature
的值。
FeatureChecker
:默认实现 IFeatureChecker
接口,提供获取 Feature
值的接口。
IFeatureDependency
:定义功能依赖项接口;
IFeatureDependencyContext/FeatureDependencyContext
:定义功能依赖项上下文;
SimpleFeatureDependency
:IFeatureDependency
接口的简单实现;
RequiresFeatureAttribute
: Feature
启用的情况下,以声明给定的类/方法可用。
参考: