ABP 使用 IShouldNormalize 完成缺省值初始化

在 ABP 中有一個 IShouldNormalize 接口,內部只有一個方法 Normalize。

namespace Abp.Runtime.Validation
{
    //
    // 摘要:
    //     This interface is used to normalize inputs before method execution.
    //     此接口用於在方法執行之前對輸入進行規範化。
    public interface IShouldNormalize
    {
        //
        // 摘要:
        //     This method is called lastly before method execution (after validation if exists).
        //     此方法最後在方法執行之前調用(驗證存在則在之後調用)。
        void Normalize();
    }
}

凡是繼承了該接口的類,在實現 Normalize 方法後,就會根據場景自動執行方法體,我們就可以在該方法中實現一些參數的初始化了。

比如 ABP 中用得最多的場景 Sorting,在列頭排序字段爲空的時候,使用默認排序就是這樣實現的。

 

另外這裏順便把 IShouldNormalize 的大哥 constructor 介紹下。constructor 是初始化的時候被調用,正好與 IShouldNormalize 相反。所以這裏又多出一條路了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章