java设计模式基础Word下载.docx

上传人:b****2 文档编号:44535 上传时间:2023-04-28 格式:DOCX 页数:18 大小:18.57KB
下载 相关 举报
java设计模式基础Word下载.docx_第1页
第1页 / 共18页
java设计模式基础Word下载.docx_第2页
第2页 / 共18页
java设计模式基础Word下载.docx_第3页
第3页 / 共18页
java设计模式基础Word下载.docx_第4页
第4页 / 共18页
java设计模式基础Word下载.docx_第5页
第5页 / 共18页
java设计模式基础Word下载.docx_第6页
第6页 / 共18页
java设计模式基础Word下载.docx_第7页
第7页 / 共18页
java设计模式基础Word下载.docx_第8页
第8页 / 共18页
java设计模式基础Word下载.docx_第9页
第9页 / 共18页
java设计模式基础Word下载.docx_第10页
第10页 / 共18页
java设计模式基础Word下载.docx_第11页
第11页 / 共18页
java设计模式基础Word下载.docx_第12页
第12页 / 共18页
java设计模式基础Word下载.docx_第13页
第13页 / 共18页
java设计模式基础Word下载.docx_第14页
第14页 / 共18页
java设计模式基础Word下载.docx_第15页
第15页 / 共18页
java设计模式基础Word下载.docx_第16页
第16页 / 共18页
java设计模式基础Word下载.docx_第17页
第17页 / 共18页
java设计模式基础Word下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java设计模式基础Word下载.docx

《java设计模式基础Word下载.docx》由会员分享,可在线阅读,更多相关《java设计模式基础Word下载.docx(18页珍藏版)》请在冰点文库上搜索。

java设计模式基础Word下载.docx

zhansgan"

;

privatestaticSingletoninstance=null;

privateintcount=0;

static{

instance=newSingleton();

}

privateSingleton(){

System.out.println("

我是饿汉单例模式"

+count++);

publicstaticSingletongetInstance(){

returninstance;

}

Singleton1.java

//懒汉单例模式,在第一次调用的时候实例化自己

publicclassSingleton2{

publicstaticSingleton2singleton=null;

privateSingleton2(){

我是懒汉单例模式"

);

publicstaticSingleton2getInstance(){

if(singleton==null){

singleton=newSingleton2();

}

returnsingleton;

Test.java

packagecom.chinasofti.eec.test;

publicclassTest{

publicstaticvoidmain(String[]args){

/*Singleton2.getInstance();

Singleton2.getInstance();

*/

/*System.out.println(Runtime.getRuntime());

System.out.println(Runtime.getRuntime());

2工厂模式

Factory.java

packagecom.chinasofti.eec.factory;

importcom.chinasofti.eec.fruit.Fruit;

publicclassFactory{

publicstaticFruitgetInstance(Class<

?

>

c){

Fruitfruit=null;

try{

fruit=(Fruit)Class.forName(c.getName()).newInstance();

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

returnfruit;

Apple.java

packagecom.chinasofti.eec.fruit;

publicclassAppleimplementsFruit{

@Override

publicvoideat(){

我吃的是苹果"

Banana.java

publicclassBananaimplementsFruit{

我吃的是香蕉"

Fruit.java

publicinterfaceFruit{

publicvoideat();

importcom.chinasofti.eec.factory.Factory;

importcom.chinasofti.eec.fruit.Apple;

importcom.chinasofti.eec.fruit.Banana;

publicclassTest2{

Factory.getInstance(Apple.class).eat();

Factory.getInstance(Banana.class).eat();

3代理模式

3-1代理类

MyInvocationHandler.java

packagecom.chinasofti.eec.proxy1;

importjava.lang.reflect.InvocationHandler;

importjava.lang.reflect.Method;

importjava.lang.reflect.Proxy;

/**

*代理类

*@authorAdministrator

*

*/

publicclassMyInvocationHandlerimplementsInvocationHandler{

privateObjectobj;

//被代理对象

publicObjectbind(Objectobj){

this.obj=obj;

//初始化被代理对象

//动态的返回一个代理类,统一调用invoke()确定此对象实现的接口实例

returnProxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this);

publicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable{

抛媚眼之前"

Objecttemp=method.invoke(this.obj,args);

抛媚眼之后"

returntemp;

}

Panjinlian.java

*被代理类

publicclassPanjinlianimplementsPrettyWomen{

publicvoidpaomeiyan(Stringname){

潘金莲抛媚眼给"

+name);

PrettyWomen.java

*定义的抛媚眼的一类人(什么事该做什么事不该做)

publicinterfacePrettyWomen{

publicvoidpaomeiyan(Stringname);

importcom.chinasofti.eec.proxy1.PrettyWomen;

PrettyWomenpw=(PrettyWomen)newMyInvocationHandler().bind(newPanjinlian());

pw.paomeiyan("

西门庆"

3-2被代理类

Wangpo.java

packagecom.chinasofti.eec.proxy;

publicclassWangPoimplementsPrettyWomen{

privatePrettyWomenpw=null;

publicWangPo(){

super();

publicWangPo(PrettyWomenpw){

this.pw=pw;

publicvoidpaomeiyan(){

this.pw.paomeiyan();

publicvoidpaomeiyan(){

潘金莲抛媚眼........"

publicvoidpaomeiyan();

WangPowp=newWangPo(newPanjinlian());

wp.paomeiyan();

链接数据库

JDBCutil.java

packagecom.chinasofti.eec.jdbcutil;

*链接数据库的工具类

importjava.sql.Connection;

importjava.sql.DriverManager;

publicclassJDBCutil{

publicstaticfinalStringDRIVER="

oracle.jdbc.driver.OracleDriver"

//orcale驱动

publicstaticfinalStringURL="

jdbc:

oracle:

thin:

@localhost:

1521:

XE"

//数据库的url

publicstaticfinalStringUSER="

system"

//用户名

publicstaticfinalStringPASSWORLD="

gqk"

//密码

privatestaticJDBCutilutil=null;

privatestaticConnectionconn=null;

Class.forName(DRIVER);

conn=DriverManager.getConnection(URL,USER,PASSWORLD);

privateJDBCutil(){

publicstaticConnectiongetConnection(){

returnconn;

publicstaticvoidmain(String[]args){

System.out.println(JDBCutil.getConnection());

JDBCutil2.java

importjava.sql.SQLException;

publicclassJDBCutil2{

privatestaticJDBCutil2jdbc=null;

privateJDBCutil2(){

/*publicstaticJDBCutil2getInstance(){

if(jdbc==null){

jdbc=newJDBCutil2();

returnjdbc;

}*/

publicsynchronizedstaticConnectiongetConnection()throwsException{

Class.forName(DRIVER);

if(conn==null){

 

JDBC登录链接数据库

1链接数据库

@192.168.80.22:

0"

privatestaticJDBCutiljdbc=null;

publicstaticvoidmain(String[]args)throwsException{

System.out.println(getConnection());

2实体类

User.java

packagecom.chinasofti.eec.vo;

importjava.sql.Date;

publicclassUser{

privateintid;

privateStringname;

privateDatebirthday;

privateStringpwd;

publicStringgetPwd(){

returnpwd;

publicvoidsetPwd(Stringpwd){

this.pwd=pwd;

publicintgetId(){

returnid;

publicvoidsetId(intid){

this.id=id;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

this.name=name;

publicDategetBirthday(){

returnbirthday;

publicvoidsetBirthday(Datebirthday){

this.birthday=birthday;

publicStringtoString(){

return"

User[id="

+id+"

name="

+name+"

birthday="

+birthday+"

]"

3登录功能接口

UserDao.java

packagecom.chinasofti.eec.dao;

publicinterfaceUserDao{

booleanLoginInfo(Stringname,Stringpwd);

UserImpl.java

importjava.sql.ResultSet;

importjava.sql.Statement;

importcom.chinasofti.eec.jdbcutil.JDBCutil;

publicclassUserImplimplementsUserDao{

privatestaticConnectionconn=null;

privatestaticStatements=null;

privatestaticResultSetrs=null;

publicbooleanLoginInfo(Stringname,Stringpwd){

booleanflag=false;

Stringsql="

select*fromCHAOSHENXUEYUANwherelast_name="

+"

'

"

+name+"

andpwd="

+pwd;

System.out.println(sql);

conn=JDBCutil.getConnection();

s=conn.createStatement();

rs=s.executeQuery(sql);

if(rs.next()){

flag=true;

}else{

flag=false;

}

returnflag;

4服务接口降低耦合度

UserService.java

packagecom.chinasofti.eec.service;

publicinterfaceUserService{

booleanloginInfo(Stringname,Stringpwd);

UserServiceImpl.java

importcom.chinasofti.eec.dao.UserDao;

importcom.chinasofti.eec.dao.UserImpl;

publicclassUserServiceImplimplementsUserService{

publicbooleanloginInfo(Stringn,Stringp){

UserDaoud=newUserImpl();

booleanfalg=ud.LoginInfo(n,p);

returnfalg;

5视图层

importj

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2