解读Petshop3.2用Nhibernate重构系列(一)

using System;
using System.Reflection;
using NHibernate;

namespace PetShop.DAO{
    
    
sealed class Sessions{
        
public static ISessionFactory PetShop;
        
public static ISessionFactory PetShopOrders;

        
static Sessions(){
            NHibernate.Cfg.Configuration petShopCfg 
= new NHibernate.Cfg.Configuration();
            
            petShopCfg.Configure(
typeof(Sessions).Assembly, "PetShop.cfg.xml");
            PetShop 
= petShopCfg.BuildSessionFactory();
            
            petShopCfg.Configure(
typeof(Sessions).Assembly, "PetShopOrders.cfg.xml");
            PetShopOrders 
= petShopCfg.BuildSessionFactory();
        }

    }

}
这个基类用于封装Nhibernate的SessionFactory的创建
他使用了一个静态构造函数。
所以顺便讲一下构造函数
构造函数是一种特殊的方法,调用它来初始化对象。构造函数的名称总是和包含它的类名称相同,并且从不返回值。
构造函数分为两类:实例构造函数和静态构造函数。
实例构造函数用来初始化特定的对象实例。
静态构造函数也称类构造函数,在第一次使用类之前调用。

如上代码,展示的是一种单件模式的实现方法。

原文地址:https://www.cnblogs.com/wildfish/p/117191.html