java中代理设计模式与工厂类设计模式的综合应用
来源:互联网 发布:知乎有趣问答 编辑:程序博客网 时间:2024/06/05 20:52
package cn.mdln.study2;
public class TestDemo11 {
/**
* 主方法是客户端,只关心取得通过工厂类取得实例化对象,不关系到底工厂类如何取得,
* 更不会关系主题类是如何实例化接口的,才不会关中间有经历过那写不为人知的操作
* 总而言之:主方法不应该做太多有关内部操作,只需要结果即可(即也就是取得实例化的接口对象)
* 代理设计模式与工厂类设计模式的应用
* @throws Exception
*/
public static void main(String[] args) throws Exception {
IDeptSevice ideptsevice=FactoryDeptSevice.getIDeptSeviceInstance();
ideptsevice.insert();
}
}
interface IDeptSevice //业务层接口(所有代理层,都是为业务层服务)
{
public boolean insert()throws Exception;
}
class DeptSeviceImpl implements IDeptSevice//真实主题实现类
{
@Override
public boolean insert() throws Exception {
System.out.println("*****调用数据层诺干操作");
return true;
}
}
class DeptSeviceProxy implements IDeptSevice//代理主题类:(代理类负责真实主题类与其它之间的调用)
{
private IDeptSevice deptsevice;
public DeptSeviceProxy(IDeptSevice deptsevice)
{
this.deptsevice=deptsevice;
}
public void prepare()
{
System.out.println("****操作前的准备,打开数据库连接操作");
}
@Override
public boolean insert() throws Exception {
prepare();
boolean flag=deptsevice.insert();
destory();
return flag;
}
public void destory()
{
System.out.println("****操作后的准备,关闭数据库连接");
}
}
class FactoryDeptSevice //用工厂类负责对接口类,主题类实例化对象
{
public static IDeptSevice getIDeptSeviceInstance()
{
return new DeptSeviceProxy(new DeptSeviceImpl());
}
}
public class TestDemo11 {
/**
* 主方法是客户端,只关心取得通过工厂类取得实例化对象,不关系到底工厂类如何取得,
* 更不会关系主题类是如何实例化接口的,才不会关中间有经历过那写不为人知的操作
* 总而言之:主方法不应该做太多有关内部操作,只需要结果即可(即也就是取得实例化的接口对象)
* 代理设计模式与工厂类设计模式的应用
* @throws Exception
*/
public static void main(String[] args) throws Exception {
IDeptSevice ideptsevice=FactoryDeptSevice.getIDeptSeviceInstance();
ideptsevice.insert();
}
}
interface IDeptSevice //业务层接口(所有代理层,都是为业务层服务)
{
public boolean insert()throws Exception;
}
class DeptSeviceImpl implements IDeptSevice//真实主题实现类
{
@Override
public boolean insert() throws Exception {
System.out.println("*****调用数据层诺干操作");
return true;
}
}
class DeptSeviceProxy implements IDeptSevice//代理主题类:(代理类负责真实主题类与其它之间的调用)
{
private IDeptSevice deptsevice;
public DeptSeviceProxy(IDeptSevice deptsevice)
{
this.deptsevice=deptsevice;
}
public void prepare()
{
System.out.println("****操作前的准备,打开数据库连接操作");
}
@Override
public boolean insert() throws Exception {
prepare();
boolean flag=deptsevice.insert();
destory();
return flag;
}
public void destory()
{
System.out.println("****操作后的准备,关闭数据库连接");
}
}
class FactoryDeptSevice //用工厂类负责对接口类,主题类实例化对象
{
public static IDeptSevice getIDeptSeviceInstance()
{
return new DeptSeviceProxy(new DeptSeviceImpl());
}
}
0 0
- java中代理设计模式与工厂类设计模式的综合应用
- 设计模式中简单工厂模式的应用----java
- 设计模式-工厂方法设计模式与接口的应用
- 设计模式应用与发展之工厂模式 java篇
- Java中常见的设计模式之工厂设计模式
- Java中常见的设计模式之代理设计模式
- 设计模式之建造者模式(与工厂模式的区别以及JDK中StringBuilder类的应用)
- Java中抽象类:模板设计模式与简单工厂设计模式
- 工厂设计模式。。应用
- Java与设计模式-抽象工厂模式
- java设计模式中工厂模式
- 诸多设计模式中,最为常见的三种设计模式-单例模式,代理模式,工厂模式
- Java设计模式--简单工厂模式与抽象工厂模式
- java 设计模式中 装饰者模式 与 代理模式的区别
- 设计模式(工厂和代理)
- java与设计模式之代理模式
- Java与设计模式-代理模式
- Java 中常用的设计模式?说明工厂模式?
- SpringMVC 使用注解注入生成接口实现类对象
- zzulioj 1900(985的“树”难题)
- 圆形进度条
- init_priority (priority)
- HTTP客户端和服务端的理解
- java中代理设计模式与工厂类设计模式的综合应用
- 绝对干货!IT类最实用的网站及工具大集合!
- android基站定位程序获取地理位置
- android 内存溢出的原因
- 什么是重定向
- iOS App上架流程遇到的错误
- LightOJ 1017 Brush (III) 【DP】
- 新幹線と一緒に….
- 从关系型数据库到非关系型数据库