比如总工厂类:using System;
 using System.Collections.Generic;
 using System.Text;
 
namespace AbstractFactoryMode
 {
     /// <summary>
     /// 总工厂
     /// </summary>
     public abstract class AbstractFactory
     {
         public abstract AbstractUser CreateUser();
         public abstract AbstractBook CreateBook();
     }
 } 子工厂类:
using System;
 using System.Collections.Generic;
 using System.Text;
 
namespace AbstractFactoryMode
 {
     /// <summary>
     /// 一个具体的工厂
     /// </summary>
     public class ConcreteFactory : AbstractFactory
     {
         /// <summary>
         /// 子工厂,用来创造用户
         /// </summary>
         /// <returns></returns>
         public override AbstractUser CreateUser()
         {
             //具体的产物
             return new User();
         }
         /// <summary>
         /// 子工厂,用来创造书籍
         /// </summary>
         /// <returns></returns>
         public override AbstractBook CreateBook()
         {
             //具体的产物
             return new Book() ;
         }
     }
 }
.........................................
最后调用using System;
 using System.Collections.Generic;
 using System.Text;
 
namespace AbstractFactoryMode{
     class Program
     {
         static void Main(string[] args)
         {
             //得到一个子工厂
             AbstractFactory factory = new ConcreteFactory(); //这里干嘛不直接new新建一个AbstractFactory类,偏偏从子类来新建?是不是抽象类不能直接新建对象?
 
            //创造用户
             AbstractUser user = factory.CreateUser();
             user.CreateUser();
 
            //创造书籍
             AbstractBook book = factory.CreateBook();
             book.CreateBook();
         }
     }
 }