- 浏览: 157848 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
沙舟狼客:
为了方便使用可以配置到环境变量里面MINGW_HOME=C:\ ...
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
沙舟狼客:
如果安装autotools时不用gcccc相当于gcc的链接n ...
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
lirihong:
java中文乱码完全解决方案 ?? 高度很高,深度、全面度全 ...
java中文乱码完全解决方案 -
沙舟狼客:
非常适合想写windows游戏的菜鸟
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
xixilive:
噢喔~~语义全无
京东导航的jquery实现
工厂模式
package login.sj; class Factory{ public static Object getObject(Class<?> class1){ try { Object object = class1.newInstance(); return object; } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } abstract class AbsFactory{ abstract Object create(Class<?> class1); } public class FactoryTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Book book = (Book) Factory.getObject(Book.class); book.setName("xxxxx"); } }
单例模式
package login.sj; class Singleton { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } private Singleton() { } // 在自己内部定义自己一个实例,是不是很奇怪? // 注意这是private 只供内部调用 private static Singleton instance = new Singleton(); // 这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { return instance; } /* * private static Singleton instance = null; * * public static synchronized Singleton getInstance() { * * //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if * (instance==null) instance=new Singleton(); return instance; } */ } public class SingletonTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Singleton singleton = Singleton.getInstance(); singleton.setName("test1"); System.out.println(singleton.getName()); Singleton singleton2 = Singleton.getInstance(); singleton2.setName("test2"); System.out.println(singleton.getName()); } }
代理模式
package login.sj; import java.lang.reflect.InvocationTargetException; class People{ void say(){ System.out.println("say"); } } abstract class MyProxy{ /** * @param args */ private Class<?> class1; private String methodName; public Class<?> getClass1() { return class1; } public void setClass1(Class<?> class1) { this.class1 = class1; } public String getMethodName() { return methodName; } public void setMethodName(String methodName) { this.methodName = methodName; } public MyProxy(Class<?> class1,String methodName) { // TODO Auto-generated constructor stub this.class1 = class1; this.methodName = methodName; } public void invoke(){ try { Object object = class1.newInstance(); object.getClass().getDeclaredMethod(methodName).invoke(object); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public abstract void after(); public abstract void before(); } public class ProxyTest extends MyProxy{ public ProxyTest(Class<?> class1, String methodName) { super(class1, methodName); // TODO Auto-generated constructor stub } @Override public void after() { // TODO Auto-generated method stub System.out.println("方法已经被执行"); } @Override public void before() { // TODO Auto-generated method stub System.out.println("方法执行前"); } public static void main(String[] args) { // TODO Auto-generated method stub ProxyTest proxyTest = new ProxyTest(People.class, "say"); proxyTest.before(); proxyTest.invoke(); } }
观察者模式
package login.sj; import java.util.Observable; import java.util.Observer; class Book extends Observable{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; setChanged(); notifyObservers(name); } } class ObserverT implements Observer{ public void update(Observable o, Object arg) { // TODO Auto-generated method stub System.out.println(o+"----------"+arg); if(o instanceof Book){ System.out.println("book name set :"+arg); } } } public class ObserverTest extends Observable{ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Book book = new Book(); ObserverT observerT = new ObserverT(); book.addObserver(observerT); book.setName("find"); } }
发表评论
-
java中文乱码完全解决方案
2013-11-18 22:05 23561、代码编码全部用UTF8,特别是配置用的属性文件 2、J ... -
Highcharts动态曲线图(使用jna监视cpu使用率)
2012-01-10 22:30 91861、CPU使用率获取,因为我要用JNA调用,所以用c++调用w ... -
grails验证码插件-JCaptcha
2012-01-10 12:56 23371、安装 grails install-plugin jca ... -
jogl入门之简单的贪吃蛇
2012-01-05 13:43 19801、代码: package org.ligson.jo ... -
jogl入门
2011-12-31 13:19 50701、jogl是什么? jogl是Java OpenGL的 ... -
grails学习之自定义标签
2011-12-30 17:22 57431、在grails项目结构中有一个taglib文件夹(项目名/ ... -
加密机制的发展(JCE/JCA)
2011-12-23 17:56 4740一、对称密钥-------最原始的加密解密 对称 ... -
开发一个JCE的Provider
2011-12-23 13:42 44451、开发环境ubuntu+eclipse+openJDK ... -
enum还有人记得吗?
2011-12-21 15:42 1079enum其实挺好用的,特别是对于一些固定的东西! packa ... -
JNA入门1
2011-12-06 22:15 36391、jna是什么 jna是java native acces ... -
利用BC替换X509证书的公钥
2011-11-23 09:54 2157public static X509Certificate r ... -
利用BC的X509v3CertificateBuilder组装X509证书
2011-11-22 17:38 3787// 设置开始日期和结束日期 long year = 3 ... -
grails框架中webService插件的使用(axis2,cxf)
2011-09-17 22:40 3179一、cxf插件的使用: 1、运行命令: grails in ... -
Java直接发送邮件或写好的eml邮件
2011-08-03 13:50 1466import java.io.File; import ... -
利用bouncycastle组装X509证书
2011-08-02 19:02 9305CreateCert.java package com.se ... -
Java中对称密钥、非对称密钥和数字签名的用法
2011-04-16 12:21 31631、非对称密钥: package com.mysec; ... -
eclipse3.6 太阳神版 中文汉化插件
2011-04-09 20:00 1091经常用eclipse,但用多了英文版,突然间想找个新鲜感,于是 ... -
Java中的按位取反运算符,哪位能详解一下?
2011-03-14 23:29 2190最近面试遇到了这样一道题: System.out.print ... -
Java常见排序算法
2011-02-24 17:53 829package test; import java ... -
关于Java中各种修饰符与访问修饰符的说明
2011-02-24 15:05 985类: 访问修饰符 修饰符 class 类名称 exte ...
相关推荐
很简洁清晰的将目前常用的设计模式进行了介绍,包含uml图和代码示例,很不错
常见的java设计模式,chm格式,附带例子说明 主要分为创建模式,结构模式和行为模式三大部分 相信能加深对java设计模式的理解和学习
java常见23种设计模式,包含源代码解说
包含了23种常见的设计模式源码,比较适合新手学习参考
PHP设计模式,有具体的例子,帮助理解设计模式精要。
C#写的设计模式例子,包含模式说明,模式实现代码等。
自己找例子,用eclipse编写的常见的十种设计模式Java工程文件,涵盖了常用的十种设计模式,面向对象系统分析与设计进阶必备!
对于23种设计模式进行了详细的举例说明,没有任何代码,例子深入浅出,非常到位,对与想了解设计模式的同学,非常有帮助
某论坛系统欲增加一个虚拟聊天室,允许论坛会员通过该聊天室进行信息交流,普通会员(CommonMember)可以给其他会员发送文本信息,钻石会员(DiamondMember)既可以给其他会员发送文本...用中介者模式设计该虚拟聊天室。
《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望...
策略模式、观察者模式、装饰模式、适配器模式、单例模式、工厂方法模式、门面模式,java语言实现的例子。
为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript程序员最常见的任务,然后运用设计模式使其解决方案变得更模块化、更高效并且更易维护,其中较为理论化的例子则用于阐明某些要点。...
《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望...
以前收集的一些关于设计模式的例子。是别人写的,觉得写得不错。可以很好的加深对设计模式的理解
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、...
【内容简介】本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的...
JAVA常见的设计模式,内附源码、ppt、pdf
奇幻RPG(物品锻造 与 Decorator模式)本文中,我们通过一个常见的给武器(对象)添加宝石(额外的状态和行为)的例子,讨论了Decorator设计模式的实现过程。
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、...
在故事中,小明是一个客户,它让小红帮忙购买香水,小红就成了一个代理对象,而香水提供商是一个真实的对象,可以售卖香水,小明通过代理商小红,购买到法国的香水,这就是一个代购的例子。我画了一幅图帮助理解这个...