zoukankan      html  css  js  c++  java
  • mojoPortal学习笔记之IndexBuilderProvider


    mojoPortal中建立索引时使用了Provider模式,学习一下。

    第一步 Main  provider class

    具体实现为是: IndexBuilderProvider

    代码如下:

     public abstract class IndexBuilderProvider : ProviderBase
        
    {
            
    public abstract void RebuildIndex(
                PageSettings pageSettings,
                
    string indexPath);


            
    public abstract void ContentChangedHandler(
                
    object sender,
                ContentChangedEventArgs e);
           
        }
    定义了2个抽象方法

    第二步: Provider Collection 类

    具体实现为IndexBuilderProviderCollection

    代码如下:

      public class IndexBuilderProviderCollection : ProviderCollection
        
    {
            
    public override void Add(ProviderBase provider)
            
    {
                
    if (provider == null)
                    
    throw new ArgumentNullException("The provider parameter cannot be null.");

                
    if (!(provider is IndexBuilderProvider))
                    
    throw new ArgumentException("The provider parameter must be of type IndexBuilderProvider.");

                
    base.Add(provider);
            }


            
    new public IndexBuilderProvider this[string name]
            
    {
                
    get return (IndexBuilderProvider)base[name]; }
            }


            
    public void CopyTo(IndexBuilderProvider[] array, int index)
            
    {
                
    base.CopyTo(array, index);
            }

        }

     第三步:Provider Configuration 类

    具体为IndexBuilderConfiguration类

    代码如下:


    Code

    第四步: Provider Manager 类

    具体实现 IndexBuilderManager

    代码如下:

    代码


    第五步:继承抽象Provider类的子类

    具体实现: BlogIndexBuilderProvider

    代码


  • 相关阅读:
    angular-ui-bootstrap插件API
    简易富文本编辑器bootstrap-wysiwyg源码注释
    deployd使用归纳
    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
    COCOS2D-JS入门-官网template源码解析
    COCOS2D-JS入门-web端项目部署
    jQuery 插件格式
    react native 使用 native-echarts 在安卓上无法显示解决办法
    springboot项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde
    Mac 上 Class JavaLaunchHelper is implemented in both 报错
  • 原文地址:https://www.cnblogs.com/wenjie/p/1167008.html
Copyright © 2011-2022 走看看