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

    代码


  • 相关阅读:
    如何在Infraworks中创建多树种组成的森林
    Autodesk 2013开发者日(DevDays)又要来了 -- 北京(2013年11月7日)和上海(2013年11月11日)
    Mac下的Parallel Windows忘记密码怎么办?
    几个有用的JSON工具
    使用Autodesk OAuth服务在用户认证的示例
    ElasticSearch(九)e代驾使用Elasticsearch流程设计(Yii1版本)
    ElasticSearch(八)Elasticsearch-head 连接不上Elasticsearch的原因和解决方案
    ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务
    Yii1自定义 CGridView 中的操作按钮中 CButtonColumn 选项
    Mysql BLOB、BLOB与TEXT区别及性能影响、将BLOB类型转换成VARCHAR类型
  • 原文地址:https://www.cnblogs.com/wenjie/p/1167008.html
Copyright © 2011-2022 走看看