05 2016 档案
摘要:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象。这个主体对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动更新自己。 观察者模式所做的工作其实就是在解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响到另一边的变化。 下面的代码利
阅读全文
摘要:建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。(转至《大话设计模式》)。 学习这个模式后,不知觉得和之前的简单工厂模式做了对比,发现二者都是创建对象。但二者还是有所区别的,简单工厂模式是更具不同的情况创建不同的对象, 而建造者模式则主要是用于创建一些复杂的对象
阅读全文
摘要:外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一个子系统更加容易使用。 外观模式在什么时候使用最好了? 首先,在设计初期阶段,应该要有意识的将不同的两个层分离。 其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。 第三,在维护一个遗留的大型系
阅读全文
摘要:模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 模板方法模式是通过把不变行为搬到超类,去除子类中的重复代码来体现它的优势。 当不变和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复
阅读全文
摘要:原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。 .NET在System命名空间中提供了ICloneable接口,其中就是唯一的一个方法Clone(),这样你就只需要实现这个接口就可以完成原型模式。(选至《大话设计模式》) MemberwiseClone()方法,
阅读全文
摘要:这个改动主要是使用工厂模式替代了简单工厂模式,这样做的好处是如果以后我们要扩充其他运算时,就不用总是去修改工厂类, 这是可以采取工厂模式,主要是将原来简单工厂类的逻辑判断分离出来,将它作为一个借口,与此同时,我们新建运算符工厂类,继承这些借口, 重写里面的getResult()方法,获取对应的运算对
阅读全文
摘要:今天突发奇想,想着看了还几个设计模式了,倒不如写点东西来实践它们。发现计算器这种就比较合适,打算随着设计模式的学习,会对计算器不断的做改进。 包括功能的增加和算法的改进。初学者难免犯错,希望大家不吝指教。 计算器V1.0:主要实现了计算器最常见的加减乘除功能,同时还有一个特殊功能,例如:我们执行完1
阅读全文
摘要:今天在公司做修改功能时,老大让使用部分更新,但是表中的主键是UNIQUEIDENTIFIER类型,它会在我们添加纪录时,默认生成一个unicode码, 但是我现在必须要将获取到的已经是string类型的unicode码,反过来给其中的一个表类型变量赋值。于是百度,后来发现居然是这样的,只需要用这个
阅读全文
摘要:今天继续看了代理模式,总结一下,觉得这个代理类主要是通过一个借口抽象了一些代理类和被代理类公用的方法。然后让被代理类实现这些方法。 再让被代理类通过代理类中来调用这些方法。 代码如下:PersonA表示真正追求美女的人,PersonB则是PersonA与美女的传话人,就是代理类。 输出结果:
阅读全文
摘要:今天用到了StringBuilder来拼接查询语句,发现这个真好用,决定做个小结。 百度一个StringBuilder的定义:String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行
阅读全文
摘要:对于一个表格,为了使我们选中的项更容易区分,需要为选中项添加高亮,同时也需要,将其他项的高亮形式去除。类似于:
阅读全文
摘要:对于表格来说,当数据比较多的时候,我们无法一页一页的查找,这时可以通过一个搜索框来实现搜索。 对于这个搜素框,我们为了更好的体验可以利用keyup事件实现在用户输入的时候就开始筛选,而不是填完以后点击搜索按钮再执行。
阅读全文
摘要:这个功能在现在的网站中使用较为普遍,就是以选项卡的形式来对一些内容做了分类。,比如下面的天猫商城。 下面的源码是仿照天猫写的一个选项卡,实现起来的效果如下。 主要是利用我们在点击相应板块是触发它的单击事件,在单击事件中再对内容显示框(tabbox)进行相应项的显示和隐藏操作。 同时利用hover为其
阅读全文
摘要:今天看了策略模式,不知觉的和前天学的简单工厂模式做了对比,也百度了一些博客,最后的出一个结论,简单工厂模式主要负责初始化各种对象,而策略模式则是更多的对方法进行封装。同一个例子,如果使用简单工厂模式,则是根据需求返回不同的对象,而使用策略模式的话,就是根据需求来返回不同的方法。 下面的例子分别使用简
阅读全文
摘要:转载至http://www.cnblogs.com/me115/p/3790615.html 工厂模式和策略模式看着很像,经常让人混淆不清; 它们的区别在哪里,需要细细体味; 相似点 在模式结构上,两者很相似; 差异 用途不一样 工厂是创建型模式,它的作用就是创建对象; 策略是行为型模式,它的作用是
阅读全文
摘要:现在很多网站的注册模块都可以实现即时检查格式是否正确,这样极大的增强了用户体验,对开发非常有利。 下面的代码是利用jquery实现了对一个表单字段格式的即时检查(包括字段长度、邮箱格式),同时在提交时,再次出发检查事件。 注意这个检查是keyup和focus上为主,利用这两个事件来触发blur(失去
阅读全文
摘要:主要利用工厂模式来实现了一个计算器,将加减乘除操作分离了开来,实现了低耦合的目标。
阅读全文
摘要:主要是模拟一些网页中的表格实现全选功能。 <form> 你爱好的运动是: <input type="checkbox" id="Check" value="全选/全不选"/>全选/全不选 <br /> <input type="checkbox" name="items" value="足球" />
阅读全文
摘要:两者之间的区别:例如div span得到的是div下所有的span元素,而div>span则是取得的div下第一级的span元素。 示例代码如下: 结果是所有的span元素都变为20px。 结果是博客园2、博客园3字体变为20px,博客园1则未发生变化。
阅读全文
摘要:animate的使用方法:animate(params,speed,callback); 例子:animate({ right: "-=600px",height:"+=400px" }, "slow", function () { $(this).css("border","5px solid r
阅读全文