Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)
2010-09-14 13:35:26 来源:WEB开发网LMRBlockFactory继承于布局抽象工厂类,实现它的抽象方法createBlock和getBlockText,其中creatBlock通过参数值,创建对应的布局实现类,这里用到了典型的抽象工厂模式;
8. 好了,一切都具备好了,现在开始讨论我们的前台使用了,添加factory.html,引用该引用的JS文件,这里列出一些核心代码:
1) 添加初始化数据
varmembertype="superadmin";//从用户类型得到值,这里是个假设,包含三个类型用户:guest,blogmember,superadmin
varcolor="blue";//这里是初始化颜色,包括四种颜色:blue,green,red,violet
varblockfactory;//布局工厂类的全局变量声明
(你可以通过用户登录将登录信息存入cookies中,从cookies获取用户类型和用户选择色调)
2) 初始化用户类型
//初始化用户类型
varmember=MemberFactory.createMemberType(membertype);
$("#spanMemberType").html(member.getMemberInfo());
$("#container-1li[id^='li']").css("display","block");
$("#container-1li[id^='li']").each(function(index){
vararr=$(this).attr("power").split('|');//取得对应标签的权限数组
if(arr.indexOf(membertype)==-1)//权限比较
{
$(this).css("display","none");
$("#fragment-"+(index+1)).css("display","none");
}
});
if(member.isSetColorBlock())//是否可设置布局和颜色
$("#Set").css("display","block");
else
$("#Set").css("display","none");
$("#selMemberType").val(membertype);
更多精彩
赞助商链接