2011年12月9日
摘要: 测试报告:在win7(win2008)下,打开超过2个office Excel(Word) 2007后,会出现Win+D快捷键失效的问题(无法隐藏WPF应用程序)。________________________________________我:采取以下方式排除问题:1、wpf应用程序现有快捷键冲突。----应用软件快捷键是Ctrl+?,不会和系统快捷键win+D冲突的。2、wpf脚本错误,可能引起系统功能失效。----使用visual studio自带工具检查,修复多处wpf脚本警告,问题依旧;3、wpf自身的bug,在特定情况下可能呈现。----上网下载微软官方的wpf的2个示例程序(T 阅读全文
posted @ 2011-12-09 10:28 铜铁的两三事 阅读(653) 评论(0) 推荐(0)
  2010年12月27日
摘要: 定义:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。类图:要点: 1、当需要简化并统一一个很大的接口或者一群复杂的接口时,使用外观;2、外观将客户从一个复杂的子系统中解耦;3、实现一个外观,需要就将子系统组合进外观中,然后将工作委托给子系统执行。4、你可以为一个子系统实现一个以上的外观;5、外观将一群对象“包装”起来以简化其接口。. 阅读全文
posted @ 2010-12-27 22:07 铜铁的两三事 阅读(138) 评论(0) 推荐(0)
摘要: 定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。 类图: 要点: 1、当需要使用一个现有的类而其接口并不符合你的需要时,就使用适配器; 2、适配器改变接口以符合客户的期望; 3、实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小和复杂度而定; 4、适配器模式有两种形式:对象适配器和类适配器。类适配器需要用到多重继承; 5、适配器将... 阅读全文
posted @ 2010-12-27 21:48 铜铁的两三事 阅读(212) 评论(0) 推荐(0)
  2010年12月22日
摘要: 定义:命令模式“请求”封装成对象,以便使用不同的“请求”、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。类图:要点:1、命令模式将发出请求的对象和执行请求的对象解耦;2、在被解耦的两者之间是通过命令对象进行沟通的。命令对象封装了接收者和一个或一组动作;3、调用者通过调用命令对象的execte()发出请求,者会使得接收者的动作被调用;4、调用者可以接受命令当作参数,甚至在运行时动态地进行;5、ingl可以支持撤销,做法是实现一个undo()方法来回倒execute()被执行前的状态;6、宏命令是命令的一种简单的延伸,运行调用多个命令。宏方法也可以支持销。7、实际操作时,很常见使用“聪 阅读全文
posted @ 2010-12-22 23:17 铜铁的两三事 阅读(153) 评论(1) 推荐(0)
摘要: 定义:单件模式确保一个类只有一个实例,并提供一个全局访问点。类图:示例源码:pubic class singleton()要点:1、单间模式确保程序中一个类最多只有一个实例;2、单件模式也提供访问这个实力的全局点;3、在java中实现单件模式需要私有的构造器、一个静态方法和一个静态变量;4、确定在性能和资源上的限制,然后小心地选择适当的方案来实现单件以解决多线程的问题(我们必须认定所有的程序都是多线程的)。5、如果不是采用第五版的java2,双重检查加锁实现会失效;6、小心,你如果使用了多个类加载器,可能导致单件失效而残生多个实例;7、如果使用jvm1.2或之前的版本,你必须建立单件注册表,以 阅读全文
posted @ 2010-12-22 22:02 铜铁的两三事 阅读(483) 评论(0) 推荐(0)
  2010年12月19日
摘要: 定义:抽象工厂模式提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道(或关心)实际产出的具体产品是什么。这样一来,客户就从具体的产品中解耦。类图:要点:1、所有的工厂都是用来封装对象创建的;2、简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类中解耦;3、工厂方法使用集成:把对象的创建委托给子类,子类实现工厂方法来创建对象;4、抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中;5、所有工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合;6、工厂方法运行类将实 阅读全文
posted @ 2010-12-19 11:46 铜铁的两三事 阅读(174) 评论(0) 推荐(0)
摘要: 定义:工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 工厂方法模式能够封装具体类型的实例化。抽象的Creator提供了一个创建对象的方法接口,也称为“工厂方法”。在抽象的Creator中,任何其他实现的方法,都可能使用到这个工厂方法所制造出来的产品,但只有子类真正实现这个工厂方法并创建产品。 所谓的“决定”,并不是指模式允许子类本身在运行... 阅读全文
posted @ 2010-12-19 10:24 铜铁的两三事 阅读(100) 评论(0) 推荐(0)
  2010年12月17日
摘要: 定义:装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。类图:适用范围:1、基础类和应用类结构相同(或有共用的方法体);2、应用类数量繁多,并有可能大量增加;3、可以通过用应用类覆盖上一应用类(或基础类)的方式;4、覆盖之后,只需访问最后覆盖类,即完成整个全类的调用。特点:1、继承属于扩展形式之一,但不见得是达到弹性设计的最佳方式;2、在我们的设计中,应该允许行为可以被扩展,而无须修改现有的代码;3、组合和委托可用在运行时动态地加上新的行为;4、除了继承,装饰者模式也可以让我们扩展行为;5、装饰者模式意味着一群装饰者类,这些类用来包装具体组件;6、装饰者类 阅读全文
posted @ 2010-12-17 23:01 铜铁的两三事 阅读(194) 评论(0) 推荐(0)
  2010年12月16日
摘要: 定义:观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。类图:附:visio原图特点:1、观察者定义了对象之间一对多的关系;2、主题(即被观察者)用一个共同的接口来更新观察者;3、观察者和被观察者之间用松耦合方式结合,被观察者不知道观察者的细节,只知道观察者实现了观察者接口;4、使用此方式是,可以从被观察者处推(push)或拉(pull)数据;5、有多个观察者时,不可以依赖特定的通知次序。适用之处:各种需求引起的,对数据源(事件源)的监听,譬如button的onclick事件监听/触发、page的onload事件监听/触发等等;在多个事 阅读全文
posted @ 2010-12-16 22:47 铜铁的两三事 阅读(174) 评论(0) 推荐(0)
  2010年12月14日
摘要: 玩软件五年了,五年来接触过大大小小也有十来个项目,写过长长短短很多代码,实现过各种要求的功能,接触过各种性格的客户,以及个性十足的同事。。。在开博之始,我把主题定为设计模式,并不因为我很善于使用设计模式,而是因为它很普遍了,作为面向对象的标榜,就姑且当作温习功课,顺便查漏补缺吧,当然,我更希望有高人能给我一些指点,呵呵。好吧,开始吧! 阅读全文
posted @ 2010-12-14 22:25 铜铁的两三事 阅读(181) 评论(0) 推荐(0)