博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模板方法设计模式与策略模式
阅读量:6405 次
发布时间:2019-06-23

本文共 1095 字,大约阅读时间需要 3 分钟。

hot3.png

 一、Java继承

缺点:

1、耦合性太强,容易破坏封装性,比如空实现之类的;

2、不好多继承;

3、为了扩展会多重继承,导致代码复杂不好维护;也不知道动态扩展

优点

1、继承无需创建父类的对象;

2、一般用于抽象方法的继承和实现,比如模板方法设计模式;

 

二、Java继承优点的利用——模板方法设计模式

1、SpringFramework里面的声明式事务处理;

有一个接口 PlatformTransactionManager,里面有三个抽象方法;

getTransaction();commit();rollback();

有一个抽象类,AbstractPlatformTransactionManager,实现上面的接口;

里面的commit和rollback基本流程都已经实现,只有getTransacton()方法没有实现;调用的是dogetTransacton()抽象方法;

有多个实现子类DataSourceTransactionManager、HibernateTransactionManager等,继承上面的抽象类;

他们里面有自己对上面抽象方法dogetTransacton()的实现;

 

2、自定义类加载器的实现;(委托机制)

自定义类加载器,一般要继承ClassLoader,然后它里面有loadClass方法,但是这个方法的流程是委托机制的流程,我们不用管他,只需要把findClass方法给覆盖就可以了;这个方法主要就是把文件给传进来而已;

 

 

3、面试题:聊聊对类,抽象类,接口的理解;

另外看那篇文章里面谈这三者的关系;

 

三、Java继承缺点的补偿——策略模式(组合)

如果前提条件一样,那么优先使用对象组合而不是类继承

 

参考;

https://my.oschina.net/u/3377232/blog/1518635

https://my.oschina.net/u/3377232/blog/1518632

 

 

四、集继承和组合与一身的一种设计模式——适配器(Adapt)模式

适配器模式也是一种包装模式

适配器模式不适合在详细设计阶段使用它,它是一种补偿模式,专用来在系统后期扩展、修改时所用。

https://my.oschina.net/u/3377232/blog/1518617

当接口发生改变之后,没法正常调用接口,那就用适配器做一个转换了;比如中国电器用美国的电路肯定是不行的,所以需要自带一个适配器去做一个转换;然后才能用美国的电给中国买的电器充电;

 

转载于:https://my.oschina.net/newchaos/blog/1512336

你可能感兴趣的文章
go语言与java nio通信,解析命令调用上下文拉起ffmpeg,并引入livego做的简单流媒体服务器...
查看>>
JavaScript面向对象轻松入门之多态(demo by ES5、ES6、TypeScript)
查看>>
【数据结构】线性表(一):顺序列表
查看>>
利用Mallet工具自动挖掘文本Topic
查看>>
Windows下oracle打补丁步骤
查看>>
Python教程(一)Python简介
查看>>
asp.net forms认证
查看>>
一帧图像的两种显示器建模方式
查看>>
Hadoop 公平调度器算法调度解析
查看>>
Linux Foundation(笔记)
查看>>
Java学习第二十五天
查看>>
vim配置
查看>>
ubuntu 把软件源修改为国内源和更新
查看>>
随机产生四则运算,导入导出文件
查看>>
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>