Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)
2010-09-14 13:35:26 来源:WEB开发网3. 创建一个用户类型工厂类来封装这些用户类型的操作,添加MemberFactory.js:
functionMemberFactory(){
}
MemberFactory={
createMemberType:function(memberType){
var _memberType;
switch(memberType)
{
case"guest":_memberType=newGuest();break;
case"blogmember":_memberType=newBlogMember();break;
case"superadmin":_memberType=newSuperAdmin();break;
default:_memberType=newBlogMember();break;
}
return_memberType;
}
}
通过memberType的“枚举”,创建相应的用户类型类的对象;
4. 至此,通过MemberFactory.createMemberType的“静态方法”返回一个用户类型对象;
varmember=MemberFactory.createMemberType("guest"); //guest,blogmember,superadmin
$("#result").html("您当前为:"+member.getMemberInfo());
(这里$(“…”)写法是jquery类库中的语法,详细请看官方文档http://jquery.com/)
二、接下来开始本篇的重点,Javascript工厂模式的网站应用
1. 延续上面的博客网站的场景:
游客只能进行简单的查看博客的文章,个人资料等等;
博客会员还可以对自己的博客进行管理;
超级管理员还可以对于博客系统后台进行管理;
这里有这些标签Tab:首页,文章,电影,音乐,相册,关于我,文章管理,个人资料管理,系统后台管理,其中 游客只能访问“首页,文章,电影,音乐,相册,关于我”,博客会员(登录后)增加访问“文章管理,个人资料管理”,超级管理员增加访问“系统后台管理”;另外博客会员和超级管理员拥有修改皮肤颜色和版块类型的功能;