设计模式学习笔记之 - 简单工厂模式
作者:潇洒人生 来源:潇洒人生blog 发布时间:2009-03-11 13:38:00
标签:设计,设计模式,笔记,JavaScript
俺比较笨,对太专业的书一直不感冒,看了就想睡觉。
最近李明同学传了本“大话设计模式”电子版。
偶然翻了翻,感觉还满通俗的,正适合我这样的懒人学习。
设计模式早听过也了解过点,可一直没怎么系统的学过,现在才发现这东东还满有趣的。但愿这
次我能坚持看完。今天先把第一章“简单工厂模式”的练习贴上来备忘。书上是Java的例子,俺
照葫芦画了个JS版。(不知像不像,高手请飘过..自行 * 也成)
<script language="JavaScript">
<!--
// class operation
function operation(){
this.numA = 0;
this.numB = 0;
this.getResult = function(){
return null;
}
}
// ext method
function add(){
var o = new operation();
o.getResult = function(){
return o.numA + o.numB;
}
return o;
}
function sub(){
var o = new operation();
o.getResult = function(){
return o.numA - o.numB;
}
return o;
}
// class operation factory
function calc(type){
var op = null;
switch(type){
case "+" : op = new add(); break;
case "-" : op = new sub(); break;
}
return op;
}
// show
var sum = new calc('+');
sum.numA = 10;
sum.numB = 79;
alert(sum.getResult());
var sum = new calc('-');
sum.numA = 10;
sum.numB = 79;
alert(sum.getResult());
//-->
</script>
0
投稿
猜你喜欢
- 上期回顾:亚马逊购物用户体验分析 (二)方便的导航元素任何网上商店的成功,至关重要的一点,就是用户可以简单轻松地使用导航条。基本店铺分类,用
- 我们也可以来做一个,但这个“定时器”的工作时间范围应控制在1个小时至100 毫秒之间: <%sub StartTi
- 1、首先停止正在运行的MySQL进程 Linux下,运行 killall -TERM mysqld Windows下,如果写成服务的 可以运
- 首先,把这个“功能”包含到页首:<!--#include virtual="/readini/inifile.in
- 可以在Mac OS X 10.2.x(“Jaguar”)和以上版本上Mac OS X使用二进制安装软
- 这是个老话题了,之所以再拿出来说,是因为浏览器一直在进步,以前最好的方法现在不一定是最好的。1 如何进行字符串连接?首先让我们来回顾一下字符
- IE测试通过,FF有点小BUGCls_Leibie.asp代码如下:<% '数据库字段为类属性,添加、删除、修改、操
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 看如下asp代码:<%@ codepage="65001" %><!-- 
- 这年头,信息和获得信息的渠道越来越多。随着信息量的增大,先有了分类,又有了导航,再有了搜索,后面的发展还不得而知。在此只是根据平日的所看所想
- 1。注意用SQL分析器可以看select出来的东西select right(convert(varchar(30),getdate(),12
- IE8正式版已经发布了。本篇文章不会非常扯蛋地去进行什么评测,然后给出什么“Chrome运行JavaScript能力是IE8的15倍”、什么
- 如何验证日期输入是否正确?我们可以利用ASP 3.0里的On Error Resume Next来完成这项功能:<%Option&nb
- asp如何将RGB颜色转化成到16进制的?在R G B中输入小于255的数字点击观看即可转换成#开通的16进制。代码如下:<%R_RG
- 你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先
- 希望对您有所帮助!推荐:[精品]ASP中常用的22个FSO文件操作函数 <%@ Language=VBScript
- 安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1重新启动后,再次安装时问题仍然存在。解决办
- 一般的防止被框架方式或者被框架后自动转向,方法如下: if (top.location != self.loc
- 最近经常使用字符串查找功能。 包括 1、全匹配查找字符串 2、模糊查找字符串 CHARINDEX 和 PATINDEX 函数都返回指定模式的
- 近日,被同事问及一个产品列表的做法怎么实现?一个产品列表,每个产品列表后面跟一个button,这些button居右对齐。其实这个效果跟新闻列