JAVA-EE设计模式的适配器设计模式的引入------计算机网络经典

用户发出一次请求就会执行以下操作
Servlet通过反射机制被tomcat创建对象
再它自己调用自己的init方法(对象已经存在了)
再调用service方法,只要用户发出一次请求,就调用一次service方法
这个对象是假单例,我们没有权限去创建这个对象,但是这个对象的构造方法不是私有化的
init初始化,service服务
destroy方法也是只执行一次,在tomcat销毁对象之前调用
destroy执行时,servlet对象仍然存在(对象仍未被销毁)
我们就可以在destroy方法内执行如关闭流,关闭数据库连接等一系列操作
构造方法,init方法,destroy方法执行一次,service方法发送几次请求就执行几次
程序员手动提供了有参数的构造方法,会导致实例化异常,没有无参数构造方法
为什么不要写构造方法代替init,因为init方法更安全,构造方法有概率导致错误
servlet规范有要求,不建议编写构造方法,因为容易导致对象无法实例化,所以有存在的必要
使用最多的是service方法,这个使用是最多的,init和destroy方法使用次数都较少
通常在资源没有关闭的时候,抓紧时间关闭,还有没保存的,抓紧时间保存
我们编写一个类直接实现servlet接口的缺点
我们只需要service方法,大部分方法不需要
我们需要使用适配器模式
用户发出一次请求就会执行以下操作
Servlet通过反射机制被tomcat创建对象
再它自己调用自己的init方法(对象已经存在了)
再调用service方法,只要用户发出一次请求,就调用一次service方法
这个对象是假单例,我们没有权限去创建这个对象,但是这个对象的构造方法不是私有化的
init初始化,service服务
destroy方法也是只执行一次,在tomcat销毁对象之前调用
destroy执行时,servlet对象仍然存在(对象仍未被销毁)
我们就可以在destroy方法内执行如关闭流,关闭数据库连接等一系列操作
构造方法,init方法,destroy方法执行一次,service方法发送几次请求就执行几次
程序员手动提供了有参数的构造方法,会导致实例化异常,没有无参数构造方法
为什么不要写构造方法代替init,因为init方法更安全,构造方法有概率导致错误
servlet规范有要求,不建议编写构造方法,因为容易导致对象无法实例化,所以有存在的必要
使用最多的是service方法,这个使用是最多的,init和destroy方法使用次数都较少
通常在资源没有关闭的时候,抓紧时间关闭,还有没保存的,抓紧时间保存
我们编写一个类直接实现servlet接口的缺点
我们只需要service方法,大部分方法不需要
我们需要使用适配器模式
package com.bjpowernode.javaweb.adapter;

public interface MyInterface
{
    void m1();
    void m2();
    void m3();
    void m4();
    void m5();
    void m6();
    //常用方法
    void core();

}
package com.bjpowernode.javaweb.adapter;

public interface MyInterface
{
    void m1();
    void m2();
    void m3();
    void m4();
    void m5();
    void m6();
    //常用方法
    void core();

}
package com.bjpowernode.javaweb.adapter;

public class UseInterface implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {

    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {
        System.out.println("userInterface");
    }
}

package com.bjpowernode.javaweb.adapter;

public class UseInterface implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {

    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {
        System.out.println("userInterface");
    }
}
package com.bjpowernode.javaweb.adapter;

public class User2 implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {

    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {
        System.out.println("user");
    }
}

package com.bjpowernode.javaweb.adapter;

public class User2 implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {

    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {
        System.out.println("user");
    }
}
package com.bjpowernode.javaweb.adapter;

public class Customer implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {
        System.out.println("customer");
    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {

    }
}

package com.bjpowernode.javaweb.adapter;

public class Customer implements MyInterface{
    @Override
    public void m1() {

    }

    @Override
    public void m2() {
        System.out.println("customer");
    }

    @Override
    public void m3() {

    }

    @Override
    public void m4() {

    }

    @Override
    public void m5() {

    }

    @Override
    public void m6() {

    }

    @Override
    public void core() {

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值