专注

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年2月28日

摘要: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。[GOF《设计模式》]实现观察者模式的例子实现观察者模式有很多形式,比较直观的一种是使用一种“注册——通知——撤销注册”的形式。下面的三个图详细的描述了这样一种过程:1:观察者(Observer)将 阅读全文
posted @ 2012-02-28 12:38 中金黄金 阅读(216) 评论(0) 推荐(0) 编辑

2012年2月24日

摘要: 在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可。function myfunc(){var evt=getEvent();var element=evt.srcElement || evt.target;}function getEvent(){if(document.all){ret 阅读全文
posted @ 2012-02-24 13:41 中金黄金 阅读(713) 评论(0) 推荐(0) 编辑

2012年2月23日

摘要: GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。 迭代器模式由以下角色组成: 1) 迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。 2) 具体迭代器角色(Concrete Iterator):具体迭代器角色要实现迭代器接口,并要记录遍历中的当前位置。 3) 容器角色(Container):容器角色负责提供创建具体迭代器角色的接口。 4) 具体容器角... 阅读全文
posted @ 2012-02-23 12:39 中金黄金 阅读(188) 评论(0) 推荐(0) 编辑

2012年2月22日

摘要: 在设计模式中,Strategy模式就是这样的一个“面向接口编程”的最佳体现,它进行抽象的一部分是针对特定的“算法”,或者说是“策略”。策略模式常用场景:假设现在要设计一个贩卖各类书籍的电子商务网站的购物车(Shopping Cat)系统。一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这要复杂。比如,本网站可能对所有的教材类图书实行每本一元的折扣;对连环画类图书提供每本7%的促销折扣,而对非教材类的计算机图书有3%的折扣;对其余的图书没有折扣。由于有这样复杂的折扣算法,使得价格计算问题需要系统地解决。假设我们要开发一个税务系统,那么有关税务的计算就会依照纳税人的不同而分为个人所 阅读全文
posted @ 2012-02-22 11:10 中金黄金 阅读(255) 评论(0) 推荐(0) 编辑

2012年2月21日

摘要: 关于这个模式,可以参考设计模式(18)-Command Pattern- 吕震宇 阅读全文
posted @ 2012-02-21 13:59 中金黄金 阅读(133) 评论(0) 推荐(0) 编辑

2012年2月16日

摘要: GoF《设计模式》中说道:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。那这个模式的应用场景会是怎么样的,引用博客上其他人的例子。“举一个生活中的小例子,大凡开过学或者毕过业的都会体会到这样一种郁闷:你要去n个地方办理n个手续(现在大学合并后就更加麻烦,因为可能那n个地方都隔的比较远)。但是实际上我们需要的就是一个最后一道手续的证明而已,对于前面的手续是怎么办的、到什么地方去办理我们都不感兴趣。实际上在软件系统开发中也经常回会遇到这样的情况,可能你实现了一些接口(模块),而这些接口(模块)都分布在几个类中(比如A和B、C、D): 阅读全文
posted @ 2012-02-16 10:48 中金黄金 阅读(236) 评论(0) 推荐(0) 编辑

2012年2月15日

摘要: 本文是自己对工厂模式的学习总结。具体可参考:TerryLee的.NET设计模式(3):抽象工厂模式(Abstract Factory)http://www.cnblogs.com/Terrylee/archive/2005/12/13/295965.html和由浅入深学“工厂模式”(1)目前常用的工厂方法包括简单工厂模式(不属于Gof23种设计模式),工厂方法和抽象工厂方法。这三种方法有各自的适用场景,也有缺点。简单工厂模式适用于对简单对象的实例化,它的缺点就是可扩展性差,如果要增加新的逻辑对象,必须修改工厂类,违背了开放,封闭原则。简单工厂模式加上反射可以解决这个问题。工厂方法是对简单工厂的 阅读全文
posted @ 2012-02-15 13:58 中金黄金 阅读(110) 评论(0) 推荐(0) 编辑

2012年2月13日

摘要: 单例模式是设计模式中入门级的一种模式, 但是大数人对它的理解还是比较浅溥,网上看到一篇介绍单例模式比较全面的文章 ,地址:http://www.cnblogs.com/TomXu/archive/2011/12/19/2291448.html。列举几种单例的写法,包括泛型单例。版本1: public sealed class Singleton { // 依然是静态自动hold实例 private static volatile Singleton instance = null; // Lock对象,线程安全所用 private ... 阅读全文
posted @ 2012-02-13 15:51 中金黄金 阅读(178) 评论(0) 推荐(0) 编辑

2012年2月11日

摘要: StarUML启动时候每次都会出现"System Error. Code:1722. RPC服务器不可用."错误.一般来说这个应该是某个Windows服务没有打开所导致的问题.后来才发现:原来是Print Spooler这个服务没有启动,只要启动这个服务就可以了,启动StarUML的时候就不会报错了. 阅读全文
posted @ 2012-02-11 18:13 中金黄金 阅读(388) 评论(0) 推荐(0) 编辑

2012年2月8日

摘要: Follow the steps as mentioned below:1)Click start and click on internet explorer2)HitAlt keyon keyboard3)Click onTools,internet options4)Click onsecurity tab5)Click onCustom level6)Scroll down toEnable XSS FILTER“Under Scripting”7)Place a check markfor Disable XSS FILTERand click onOk8)Clickokto clo 阅读全文
posted @ 2012-02-08 13:25 中金黄金 阅读(433) 评论(0) 推荐(0) 编辑