摘要: 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。(披萨店生产披萨模拟流程)工厂方法模式通过让子类决定该创建的对象是什么,来达到将对象的过程封装的目地。简单工厂和工厂方法之间的差异:1)简单工厂不是一个设计模式,常被误认为是“工厂模式”。2)简单工厂把全部的事情,在一个地方都处理完了,然而工厂方法却是创建一个框架,让子类决定要如何实现。3)简单工厂的做法,可以将对象的创建封装起来,但是简单工厂具备工厂方法的弹性,因为简单工厂不能变更正在创建的产品。工程名称:Factory 下载目录:http://www.cnblogs.com/jrs.. 阅读全文
posted @ 2012-09-17 15:48 黄辉杰 阅读(1538) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。设计原则:类应该对扩展开放,对修改关闭。我们的目标是允许类容易扩展,在不修改现有代码的情况下,就可以搭配新的行为。如能实现这样的目标,有什么好处呢?这样的设计具有弹性可以应对改变,可以接受新的功能来应对改变的需求。工程名称:DecoratorInJDK 下载目录:http://www.cnblogs.com/jrsmith/admin/Files.aspx ,DecoratorInJDK.zip 1 package com.jyu.jdk; 2 3 import java.io.FilterInpu... 阅读全文
posted @ 2012-09-14 15:53 黄辉杰 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。(星巴兹咖啡)设计原则:类应该对扩展开放,对修改关闭。我们的目标是允许类容易扩展,在不修改现有代码的情况下,就可以搭配新的行为。如能实现这样的目标,有什么好处呢?这样的设计具有弹性可以应对改变,可以接受新的功能来应对改变的需求。工程名称:Decorator(eclipse) 下载目录:http://www.cnblogs.com/jrsmith/admin/Files.aspx ,Decorator.zip 1 package com.jyu.abstractclass; 2 3 /** 4 * 饮料.. 阅读全文
posted @ 2012-09-14 09:35 黄辉杰 阅读(1326) 评论(0) 推荐(0) 编辑
摘要: 观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 当你试图勾勒观察者模式时,可以利用报纸订阅服务,以及出版者和订阅者比拟这一切。设计原则:为了交互对象之间的松耦合设计为努力。工程名称:SubjectAndObsever(eclipse) 下载目录:http://www.cnblogs.com/jrsmith/admin/Files.aspx,SubjectAndObsever.zip 1 package com.jyu.interfaces; 2 3 /** 4 * 主题接口 5 * @author JRSmith 6 * ... 阅读全文
posted @ 2012-09-13 16:10 黄辉杰 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 当你试图勾勒观察者模式时,可以利用报纸订阅服务,以及出版者和订阅者比拟这一切。设计原则:为了交互对象之间的松耦合设计为努力。注意:java内置的Observable是一个类,要想一个类成为可观察者,就必须继承Observable类,但这样就限制了这个类的复用潜力了。工程名为:SubjectAndObseverInJDK,下载目录:http://www.cnblogs.com/jrsmith/admin/Files.aspx,SubjectAndObseverInJDK.zip 1 p 阅读全文
posted @ 2012-09-13 09:26 黄辉杰 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。设计原则:多用组合,少用继承.策略模式(strategy pattern):定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。用例:鸭子对象 阅读全文
posted @ 2012-09-13 09:23 黄辉杰 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 用extjs写了个form,还没有响应后代的操作<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content=" 阅读全文
posted @ 2012-01-09 23:49 黄辉杰 阅读(744) 评论(0) 推荐(0) 编辑
摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf- 阅读全文
posted @ 2012-01-08 20:49 黄辉杰 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 问题:先自定义一个函数f(),在通过Ext.onReady(f())方式来调用。看书上写的是:<script language="javascript">function f(){Ext.Msg.show({ title:'Hello', msg:'Have you seen my heart?', buttons:{ yes:'true', no:true, cancel:true, } });}Ext.onReady(f()); </script>但运行后没显示上网查了一下Ext.onReady() 阅读全文
posted @ 2012-01-08 20:34 黄辉杰 阅读(18966) 评论(0) 推荐(0) 编辑
摘要: 网上找了一下,貌似那些方法都不行,结果只能用jsp的input来代替struts2的textfield,<input value="${对象.属性名}"> 阅读全文
posted @ 2011-12-04 21:04 黄辉杰 阅读(367) 评论(2) 推荐(0) 编辑