学习工厂模式笔记

本文探讨了在Java中使用工长模式优化对象创建过程,通过接口编程和工厂类来简化复杂的对象实例化流程,提高了代码的灵活性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.donnie;

/*
 * 
 * class RunServer{
	public static void execute(){
	//没有工长模式
 //假如sdao前面也许还得检查连接数据库,这样做就非常的麻烦
		ServerDao sdao=new DaoImpl();
		sdao.getname();
	}
}

interface ServerDao{   //面象接口编程
	public void getname();
}
class DaoImpl implements ServerDao{
	
	public void getname(){
		System.out.println("not factory");
	}
}

public class Factory {
public static void main(String args[]){
	RunServer.execute();
}
}*/

//工长模式主要应用时模块调用时,模块可调用接口较多的情况,
//实例化一个对象可能要进行复杂操作的情况
class RunServer{
	public static void execute(){
		//如果以后模块要切换的话,可以将getName改为其它
		ServerDao sd=DaoFacorty.getDao("getName");
		sd.getname();
	}
}

class DaoFacorty{
	public static  ServerDao getDao(String daoName){
		if("getName".equals(daoName)){
			//有了工长模式,可以在这里预先准备工作,比如检查连接数据库操作
			/*利用反射机制,可以将ServerDao写入配置文件,这样就连工厂类都可以不用修改
			Class.forName("ServerDao").newInstance(); 
			调有时只要DaoFacorty.getDao("getName")*/
			return new DaoImpl();
		}else if("".equals(daoName)){
			return null;
		}
		return null;
		
	}
	
}
interface ServerDao{   //面象接口编程
	public void getname();
}
class DaoImpl implements ServerDao{
	
	public void getname(){
		System.out.println("Successful factory");
	}
}

public class Factory {
public static void main(String args[]){
	RunServer.execute();
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值