这是抽象工厂的方法,主要是用于用户的登录方法。如果登录成功,就可以将用户的信息存在于一个SESSION中。 当然产生工厂方法又是一个SINGLETON的方法,至于创建具体的工厂是读取一个XML的文本字符文件。当然,这里要用到一个 PropertyManager类,来返回规定名称的VALUE。当然其有一个默认的具体工厂即是用DB来实现的。具体成员对象如下。   private static String className =         "com.Yasna.forum.database.DbAuthorizationFactory";--指明默认工厂 
 private static AuthorizationFactory factory = null;--用以实现SINGLETON 
 public static Authorization getAuthorization(String username,             String password) throws UnauthorizedException--返回作者(只有一个GetUserId()方法,不返回一个USER,可能是要减少输出量,因为存储在SESSION中的东东只要指明ID即可返回USER。     {         loadAuthorizationFactory();         return factory.createAuthorization(username, password);     } 
public static Authorization getAnonymousAuthorization() {--返回匿名作者         loadAuthorizationFactory();         return factory.createAnonymousAuthorization();     } 
public abstract Authorization createAuthorization(String username,             String password) throws UnauthorizedException;--具体的创建作者过程 
 public abstract Authorization createAnonymousAuthorization();--创建匿名登录作者 
 private static void loadAuthorizationFactory()--创建具体的类工厂 
*NOTE1:这里作者用AuthrizationFactory作为用户获得Authriztion的唯一入口,所以,在父类的静态方法中,有关具体的操作都是调用子类的相关方法。 
   
 
  |