设计模式学习笔记之 - 简单工厂模式

作者:潇洒人生 来源:潇洒人生blog 时间:2009-03-11 13:38:00 

俺比较笨,对太专业的书一直不感冒,看了就想睡觉。

最近李明同学传了本“大话设计模式”电子版。

偶然翻了翻,感觉还满通俗的,正适合我这样的懒人学习。

设计模式早听过也了解过点,可一直没怎么系统的学过,现在才发现这东东还满有趣的。但愿这
次我能坚持看完。今天先把第一章“简单工厂模式”的练习贴上来备忘。书上是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>

 

标签:设计,设计模式,笔记,JavaScript
0
投稿

猜你喜欢

  • python判断字符串是否纯数字的方法

    2022-09-09 03:25:38
  • JavaScript实现网页动态生成表格

    2024-04-16 09:24:00
  • MySQL的数据库常用命令 超级实用版分享

    2012-01-05 18:58:00
  • python编写扎金花小程序的实例代码

    2021-01-28 23:09:44
  • Python+Tableau广东省人口普查可视化的实现

    2022-02-12 21:53:59
  • python实现共轭梯度法

    2021-10-06 22:39:01
  • HTML5 第二份草案发布

    2008-06-17 17:42:00
  • SqlServer 2005/2008数据库被标记为“可疑”的解决办法

    2024-01-18 14:07:14
  • 在Python的Django框架中实现Hacker News的一些功能

    2023-11-24 19:27:46
  • MySQL优化教程之慢查询日志实践

    2024-01-24 11:22:57
  • python数据预处理 :数据共线性处理详解

    2022-06-29 09:46:24
  • MySQL六种约束的示例详解

    2024-01-16 19:15:38
  • 几款黑体的测试和介绍

    2008-07-18 17:09:00
  • 利用GAE&Google Gears做了一个简单的AJAX代理

    2009-04-29 12:42:00
  • MySQL数据库操作DQL正则表达式

    2024-01-14 13:04:48
  • sql无效字符 执行sql语句报错解决方案

    2023-06-24 19:47:45
  • Golang中channel的原理解读(推荐)

    2024-02-08 15:41:38
  • 详解php用static方法的原因

    2023-11-20 19:20:45
  • JavaScript使用readAsDataUrl方法预览图片

    2024-05-02 17:28:41
  • 对numpy中数组转置的求解以及向量内积计算方法

    2023-01-23 16:39:52
  • asp之家 网络编程 m.aspxhome.com