享元模式
适配器模式(adapter pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 要被适配的类(网线) */ public class adaptee { public void request() { system.out.println("连接网线上网!"); } }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 客户端类:想上网,插不上网线 */ public class computer { //我们的电脑需要连接上转接器才能上网 public void net(nettousb adapter) { //上网的具体实现,找一个转接头 adapter.handlerequest(); } public static void main(string[] args) { //电脑,适配器,网线 computer computer = new computer(); adapter adapter = new adapter(); // adaptee adaptee = new adaptee(); computer.net(adapter); } }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 接口转换器的抽像实现 */ public interface nettousb { //作用:处理请求(网 => usb) public void handlerequest(); }
package com.xgp.company.结构性模式.第一种_适配器模式; /** * 1、继承方式(类适配器) * 2、组合(对象适配器:常用) */ /** * 适配器:需要连接usb和网线 */ public class adapter extends adaptee implements nettousb { @override public void handlerequest() { //可以上网了 super.request(); } }
连接网线上网!
package com.xgp.company.结构性模式.第二种_适配器模式; /** * 1、继承方式(类适配器) * 2、组合(对象适配器:常用) */ /** * 适配器:需要连接usb和网线 */ public class adapter implements nettousb { private adaptee adaptee; public adapter(adaptee adaptee) { this.adaptee = adaptee; } @override public void handlerequest() { //可以上网了 adaptee.request(); } }
package com.xgp.company.结构性模式.第二种_适配器模式; /** * 客户端类:想上网,插不上网线 */ public class computer { //我们的电脑需要连接上转接器才能上网 public void net(nettousb adapter) { //上网的具体实现,找一个转接头 adapter.handlerequest(); } public static void main(string[] args) { //电脑,适配器,网线 computer computer = new computer(); adaptee adaptee = new adaptee(); adapter adapter = new adapter(adaptee); computer.net(adapter); } }
连接网线上网!
如对本文有疑问, 点击进行留言回复!!
【面试题】研究过tomcat的NioEndpoint源码吗?请阐述下Reactor多线程模型在tomcat中的实现。
荐 厉害了!阿里P8架构师用4大技术文档带你深入解读爆火的中台战略
网友评论