- 浏览: 161677 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
沙舟狼客:
为了方便使用可以配置到环境变量里面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 24301、代码编码全部用UTF8,特别是配置用的属性文件 2、J ... -
Highcharts动态曲线图(使用jna监视cpu使用率)
2012-01-10 22:30 92601、CPU使用率获取,因为我要用JNA调用,所以用c++调用w ... -
grails验证码插件-JCaptcha
2012-01-10 12:56 23731、安装 grails install-plugin jca ... -
jogl入门之简单的贪吃蛇
2012-01-05 13:43 20161、代码: package org.ligson.jo ... -
jogl入门
2011-12-31 13:19 51301、jogl是什么? jogl是Java OpenGL的 ... -
grails学习之自定义标签
2011-12-30 17:22 57831、在grails项目结构中有一个taglib文件夹(项目名/ ... -
加密机制的发展(JCE/JCA)
2011-12-23 17:56 4835一、对称密钥-------最原始的加密解密 对称 ... -
开发一个JCE的Provider
2011-12-23 13:42 44851、开发环境ubuntu+eclipse+openJDK ... -
enum还有人记得吗?
2011-12-21 15:42 1116enum其实挺好用的,特别是对于一些固定的东西! packa ... -
JNA入门1
2011-12-06 22:15 37111、jna是什么 jna是java native acces ... -
利用BC替换X509证书的公钥
2011-11-23 09:54 2252public static X509Certificate r ... -
利用BC的X509v3CertificateBuilder组装X509证书
2011-11-22 17:38 3894// 设置开始日期和结束日期 long year = 3 ... -
grails框架中webService插件的使用(axis2,cxf)
2011-09-17 22:40 3220一、cxf插件的使用: 1、运行命令: grails in ... -
Java直接发送邮件或写好的eml邮件
2011-08-03 13:50 1534import java.io.File; import ... -
利用bouncycastle组装X509证书
2011-08-02 19:02 9471CreateCert.java package com.se ... -
Java中对称密钥、非对称密钥和数字签名的用法
2011-04-16 12:21 32111、非对称密钥: package com.mysec; ... -
eclipse3.6 太阳神版 中文汉化插件
2011-04-09 20:00 1153经常用eclipse,但用多了英文版,突然间想找个新鲜感,于是 ... -
Java中的按位取反运算符,哪位能详解一下?
2011-03-14 23:29 2240最近面试遇到了这样一道题: System.out.print ... -
Java常见排序算法
2011-02-24 17:53 857package test; import java ... -
关于Java中各种修饰符与访问修饰符的说明
2011-02-24 15:05 1030类: 访问修饰符 修饰符 class 类名称 exte ...
相关推荐
设计模式是软件开发中的一种最佳实践,用于解决常见的设计问题并提供可重用的解决方案。在这些模式中,工厂模式尤为突出,它是一种创建型设计模式,为对象的创建提供了抽象接口,使得代码无需直接实例化具体类,而是...
这份名为"设计模式例子文档,简单易学"的资源,显然是为了帮助开发者更直观、更快速地理解和应用设计模式。设计模式并非具体的代码或库,而是一种通用的解决方案模板,可以在不同的软件开发过程中复用,以提高代码的...
设计模式是软件工程中的一种重要思想,它代表了在特定情境下解决常见问题的最佳实践。刘伟先生关于设计模式的讲解结合了理论与实例,帮助开发者更好地理解和应用这些模式。以下将详细介绍23种设计模式及其相关知识。...
在给定的压缩包文件中,"设计模式例子,观察者模式,建造者模式" 提到了两种重要的设计模式:观察者模式(Observer Pattern)和建造者模式(Builder Pattern)。下面我们将深入探讨这两种设计模式的概念、应用场景、...
在图像处理中,二值化是一种常见的预处理技术。二值化是将图像转化为黑白两色,即图像中的每个像素只可能有两种状态,通常用0表示黑色,255表示白色。二值化的C++实现可以通过遍历图像的每个像素,将其灰度值与预设...
在这个“设计模式例子和PPT”压缩包中,包含的内容主要是关于设计模式的基本原则、UML类图以及一些实际的应用示例。 设计模式分为三大类:创建型模式、结构型模式和行为型模式。每种模式都有其特定的目标和适用场景...
设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。这些模式在不同的编程语言中都有应用,而在这个压缩包中,我们重点关注的是与Java相关的设计模式。设计模式通常分为三大类:创建型...
在软件开发中,设计模式是解决常见问题的模板或蓝图,它们是经过验证的最佳实践,可以提高代码的可读性、可维护性和可扩展性。本篇将详细讲解工厂模式和观察者模式,并通过C#语言实现的示例来帮助初学者理解这两种...
"patternDesign设计模式例子源码"这个压缩包很可能是包含了一些常见设计模式的实际应用示例,如单例模式、工厂模式、观察者模式等。下面我们将深入探讨这些设计模式及其重要性。 1. **单例模式**:单例模式确保一个...
在软件开发领域,设计模式是经验丰富的开发者们在面对常见问题时总结出的解决套路,它们代表了在特定上下文中经过验证的解决方案。本资源"二十一种设计模式java例子"聚焦于Java语言中的设计模式应用,结合源码与实用...
在"Java设计模式例子"的压缩包中,`src`目录很可能包含了上述各种设计模式的实现代码,你可以通过查看这些代码来深入理解每种模式的工作原理和使用场景。实践中,灵活运用设计模式可以提高代码的可读性、可维护性和...
标题中的"常用设计模式例子.zip"表明这个压缩包包含了一些常见的设计模式的实际示例代码。让我们逐一探讨这些模式: 1. **工厂模式**:工厂模式是创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,...
在软件设计中,设计模式是一种解决常见问题的模板或最佳实践。它们是经过验证的解决方案,可以帮助开发者在设计系统时保持灵活性和可扩展性。在这个主题中,我们将深入探讨两种设计模式:Abstract Factory(抽象工厂...
Java工厂模式是一种设计模式,主要用于解决对象创建的问题。在编程中,当系统无法预见需要创建哪种类型的实例,...在实际项目中,尤其是在需要动态切换产品实现或者存在多种产品变体的情况下,工厂模式的应用尤为常见。
在软件开发中,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。这些模式提供了可重用的模板,可以提高代码的可读性、可维护性和灵活性。以下是关于JAVA设计模式中提及的四种模式——工厂模式、...
这种模式在实际开发中非常常见,尤其在处理遗留系统、第三方库或者需要整合多种技术时。 适配器模式分为类适配器和对象适配器两种类型。类适配器模式是通过继承目标类(即期望接口)并组合适配者类来实现,而对象...
在Java编程领域,设计模式是解决常见问题的模板,提供了可重用的解决方案。工厂模式和DAO(Data Access Object)模式是两种常见的设计模式,它们在处理数据库操作时发挥着关键作用。本示例旨在帮助初学者理解如何...
标题中的“文档编辑器,设计模式例子Jexi”指的是一个使用Java编程语言实现的软件项目,该项目旨在模仿名为Lexi的文档编辑器,并且它巧妙地应用了设计模式来构建其架构。设计模式是在软件工程中经过验证的解决常见...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结,能够提升代码的可读性、可维护性和复用性。这个压缩包“java常用23种设计模式(含源码解说).rar”包含了对Java开发者极其重要的23...