本文之初的目的是讲述设计模式中的
Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone
其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和 深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制...
分类:
其他好文 时间:
2014-05-08 20:13:45
阅读次数:
339
1.js中的基本类型、表达式及类型的转换2.js作用域、内存3.js面向对象(对象的创建和类的创建)4.正则表达式5.BOM6.DOM(DOM2和DOM3)7.事件8.AJAX9.js设计模式
分类:
Web程序 时间:
2014-05-07 09:35:33
阅读次数:
365
迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部实现
Iterator::迭代器接口。定义访问和遍历元素的接口
ConcreteIterator:具体的迭代器实现对象。实现对聚合对象的遍历,并跟踪遍历时的当前位置
Aggregate:聚合对象。定义创建相应迭代器对象的接口
ConcreteAggregate:具体聚合对象。实现创建相应的迭代器对象...
分类:
其他好文 时间:
2014-05-07 07:37:03
阅读次数:
313
策略模式定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。何谓算法呢?它是一种描述程序行为的语言,广泛应用于计算机科学领域,是一种让程序最为简洁的思考方式。
一、组成:
1.抽象策略角色: 策略类,通常由一个接口或者抽象类实现。
2.具体策略角色:包装了相关的算法和行为。
3.环境角色:持有一个策略类的引用,最终给客户端调用。
二...
分类:
其他好文 时间:
2014-05-07 07:25:27
阅读次数:
273
在战争年代,战争双方时不时受到敌军飞机的轰炸,于是人们发明了航空警报,并派几个侦察兵放哨,一但敌机来临,立即拉响航空警报,这样所有的收听者就能听到报警逃跑。上述情节,看似平常,其实是观察者模式是完美体现。...
分类:
其他好文 时间:
2014-05-07 06:49:06
阅读次数:
342
代码大全
重构:改善既有代码的设计
重构与模式
修改代码的艺术
实现模式
深入浅出设计模式(First head)
企业应用架构模式
分析模式*
代码整洁之道*
编程珠玑*
程序员的职业素养*
别闹了,费曼先生!*
测试驱动开发TDD*
验收测试开发ATDD*
Cucumber:行为驱动开发指南BDD*
设计原本:计算机科学巨匠Frederic...
分类:
其他好文 时间:
2014-05-07 06:17:20
阅读次数:
360
感受设计演变过程中所蕴含的大智慧,体会乐与怒的程序人生中值得回味的一幕幕。——《大话设计模式》
能把计算机编程类的书写成小说一样的效果,是这本书的最大亮点,也是我最为敬佩的地方。拿到书之后,爱不释手,用了23个番茄将书完整的通读了一遍,在读书的过程中时而凝眉沉思,不得其解,时而拍腿称快,大呼妙哉!虽然很多的地方还是不太明白,但是思维已经随着问题在程序世界里徘徊。...
分类:
其他好文 时间:
2014-05-07 05:49:22
阅读次数:
234
单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。...
分类:
其他好文 时间:
2014-05-07 04:53:42
阅读次数:
236
工厂,又称制造厂,是一类用以生产货物的大型工业建筑物。大部分工厂都拥有以大型机器或设备构成的生产线。在世界近代史中泛指资本主义机器大生产,即使用机械化劳动代替手工劳动的资本主义工业场所。在我们设计模式中也生活着这么一家人,他们分别是简单工厂模式,工厂方法模式和抽象工厂模式,他们都是属于创建型设计模式,这三种创建型模式都不需要知道具体类。我们掌握一种思想,就是在创建一个对象时,需要把容易发生变化的地...
分类:
其他好文 时间:
2014-05-07 04:06:22
阅读次数:
221
应对的情况:当一个可观察者的状态发生改变时,观察者的数据也要实时更新。
你可能第一时间会想到的是,直接在可观察者类上调用观察者的方法就行了。是的,这是一种最直接,也是最简单的方法。但这样做就使得可观察者和观察者的耦合性很高,且不能动态更改观察者的数量。
我们或许可以这样做,写一个可观察者的接口:
public interface Subject {
public void...
分类:
其他好文 时间:
2014-05-06 14:58:55
阅读次数:
222