常用设计模式

23种设计模式总览

一、单例模式

二、模板方法模式

    大部分流程相同,某些个别操作在不同实现类之间不一样(定义一个操作中的算法的骨架,而将一些步骤延迟到子类中)。抽象方法+方法具体实现+定义钩子方法

// IMyFrame接口里面定义一个paint()抽象方法,不同的实现类做不同的实现。
public static void drawFrame(IMyFrame f){
    doSth1();
    f.paint();
    doSth2();
}

三、代理模式(proxy)

    1.静态代理:接口+2实现类,其中一个实现类是真实角色,另外一个实现类是代理角色(中介.代理类中含有真实对象的引用,实现抽象方法时调用真实角色的方法+其他操作)。  缺点:写代理时,真实角色必须先存在才行,不灵活。(eg:Runnable接口)

    2.动态代理:程序运行时才为被代理对象生成代理对象,也叫JDK动态代理,借助反射。JDK中生成代理对象的代理类就是Proxy,所在包是java.lang.reflect。代理对象不用实现接口,但是目标对象一定要实现接口。

    3.cglib代理:继承目标类,以目标对象子类的方式实现代理。

    4.代理模式的应用场景

    5..双亲委派机制:先给最上面的CL加载,如果不行再依此向下,自己也加载不了则报错。委托是从下向上,具体查找过程是自上至下。

四、工厂模式

        简单工厂模式:不灵活
        工厂方法模式:使用继承。利用多态,将实现交给子类去做;扩展性较好(加入新角色时实现接口即可)
        抽象工厂模式:使用组合。一对多,一个工厂生产多种对象;扩展性较好(加入新角色是在原接口新增方法);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值