当前位置: 首页 > news >正文

怎么自己建设网站惠州百度seo哪家好

怎么自己建设网站,惠州百度seo哪家好,卧室装修设计,在线设计平台 类似pixao近期有些tasks需要 重构or适配 老的代码。 与其向上面堆💩,不如优雅的去解决。 首先我的问题在于,错误的把 堆屎的操作 ,当作了适配器模式的操作。 比如原函数入参,需要更改某个属性,把这种操作外包一层…

近期有些tasks需要 重构or适配 老的代码。

与其向上面堆💩,不如优雅的去解决。

首先我的问题在于,错误的把 堆屎的操作 ,当作了适配器模式的操作。

比如原函数入参,需要更改某个属性,把这种操作外包一层套进去,就是堆屎。

适配器模式的重点在于:适配器实现目标接口,并且持有适配者的实例

做法是:转换一个接口到另一个接口。(这个经常和外观模式搞混)

实际工作中尝试使用虚方法去实现,让前端的调用为被转换过的接口。

虚方法:

1、virtual方法表示此方法可以被重写, 也就是说这个方法具有多态.父类中的方法是通用方法,可以在子类中重写以重新规定方法逻辑.

2、virtual方法可以直接使用,和普通方法一样

3、不是必须重写的. 子类可以使用base.方法 的方式调用, 无论有没有在子类使用override去重写

virtual关键字只是明确标示此方法可以被重写, 其实它和一般的方法没有什么区别

适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。

但是我偏要用类适配器!

类适配器

类适配器:适配器继承适配对象,并实现适配目标的所有方法

public interface EuropeSocket {/** 欧式三叉 通电 接通电 插座*/String useEuropesocket();
}// 欧式三叉实现类
public class EuropeSocketImpl implements EuropeSocket {@Overridepublic String useEuropesocket() {String msg ="使用欧式三叉充电";return msg;}
}
public interface ChineseSocket {/*** 使用中国双叉充电* @return*/String useChineseSocket();
}// 中国插头的实现类
public class ChineseSocketImpl implements ChineseSocket {@Overridepublic String useChineseSocket() {String msg="使用中国双叉充电";return msg;}
}
/*** 定义适配器类 中国双叉转为欧洲三叉**/
public class ChineseAdapterEurope extends EuropeSocketImpl implements ChineseSocket {@Overridepublic String useChineseSocket() {System.out.println("使用转换器转换完成");return useEuropesocket();}
}

开始使用测试!

public class Computer {public String useChineseSocket(ChineseSocket chineseSocket) {if(chineseSocket == null) {throw new NullPointerException("sd card null");}return chineseSocket.useChineseSocket();}
}

提前注:父类声明子类实例化产生的对象使用的是子类从父类继承的方法和属性。 

父类声明子类实例化对象详解_扶公瑾以苏的博客-CSDN博客_c父类对象由子类实例化

public class Client {public static void main(String[] args) {Computer computer = new Computer();ChineseSocket chineseSocket = new ChineseSocketImpl();System.out.println(computer.useChineseSocket(chineseSocket));System.out.println("------------");ChineseAdapterEurope adapter = new ChineseAdapterEurope();System.out.println(computer.useChineseSocket(adapter));/*** 输出:* 使用中国双叉充电* ------------* 使用转换器转换完成* 使用欧式三叉充电*/}
}

对象适配器

实现方式:对象适配器模式可釆用将现有组件库中已经实现的组件引入适配器类中,该类同时实现当前系统的业务接口

题目还是和上面一样的哈。代码其实差异很小

目标(Target)接口:即图中的欧式三叉

public interface EuropeSocket {/** 欧式三叉 通电 接通电 插座*/String useEuropesocket();
}// 欧式三叉实现类
public class EuropeSocketImpl implements EuropeSocket {@Overridepublic String useEuropesocket() {String msg ="使用欧式三叉充电";return msg;}
}
复制代码

适配者(Adaptee):即中国双叉

public interface ChineseSocket {/*** 使用中国双叉充电* @return*/String useChineseSocket();
}// 中国插头的实现类
public class ChineseSocketImpl implements ChineseSocket {@Overridepublic String useChineseSocket() {String msg="使用中国双叉充电";return msg;}
}
复制代码

适配器(Adapter)类: 就是这个适配器内做了一些更改 从继承改为了成员变量的方式

public class ChineseAdapterEurope implements ChineseSocket {private EuropeSocket europeSocket;public ChineseAdapterEurope(EuropeSocket europeSocket) {this.europeSocket = europeSocket;}@Overridepublic String useChineseSocket() {System.out.println("使用转换器转换完成");return europeSocket.useEuropesocket();}
}
复制代码

电脑类

public class Computer {public String useChineseSocket(ChineseSocket chineseSocket) {if(chineseSocket == null) {throw new NullPointerException("sd card null");}return chineseSocket.useChineseSocket();}
}
复制代码

测试:

public class Client {public static void main(String[] args) {Computer computer = new Computer();ChineseSocket chineseSocket = new ChineseSocketImpl();System.out.println(computer.useChineseSocket(chineseSocket));System.out.println("------------");//这里做了更改EuropeSocket europeSocket=new EuropeSocketImpl();ChineseAdapterEurope adapter = new ChineseAdapterEurope(europeSocket);System.out.println(computer.useChineseSocket(adapter));/*** 输出:* 使用中国双叉充电* ------------* 使用转换器转换完成* 使用欧式三叉充电*/}
}

适合于解决问题常见:

  •  需要的东西有,但不能用,且短时间无法改造。即,使得一个功能适合不同的环境。
  •   在开发中,系统的数据、行为都匹配,但接口不符时,可以考虑适配器。
  •   希望复用一些现存的类,但是接口又与复用环境的要求不一致,应该考虑用适配器模式。(使用一个已经存在的类,但它的接口(即,方法),与需要的不相同时)

2023/2/12

划重点:希望复用一些现存的类,但是接口又与复用环境的要求不一致,应该考虑用适配器模式。(使用一个已经存在的类,但它的接口(即,方法),与需要的不相同时)

这个正是我现在面临的问题。

总之,时间足够我就优雅的,完美的去建立一个可扩展性强的适配层。

如果催我。那我就堆堆乐 💩💩💩

references:

Java设计模式-适配器模式 理论代码相结合 - 掘金


文章转载自:
http://lamp.qwfL.cn
http://cytochalasin.qwfL.cn
http://shigellosis.qwfL.cn
http://fabricative.qwfL.cn
http://nbg.qwfL.cn
http://virginhood.qwfL.cn
http://pupa.qwfL.cn
http://reflectingly.qwfL.cn
http://reviler.qwfL.cn
http://pomerania.qwfL.cn
http://eugenist.qwfL.cn
http://gromwell.qwfL.cn
http://mosasaurus.qwfL.cn
http://autotransfusion.qwfL.cn
http://avengement.qwfL.cn
http://swimfeeder.qwfL.cn
http://excitability.qwfL.cn
http://cardioid.qwfL.cn
http://landform.qwfL.cn
http://holophotal.qwfL.cn
http://notchy.qwfL.cn
http://backfielder.qwfL.cn
http://redistribute.qwfL.cn
http://qintar.qwfL.cn
http://pathetical.qwfL.cn
http://bittersweet.qwfL.cn
http://systematically.qwfL.cn
http://vichy.qwfL.cn
http://sockeroo.qwfL.cn
http://campy.qwfL.cn
http://doublure.qwfL.cn
http://imposthume.qwfL.cn
http://marianao.qwfL.cn
http://internally.qwfL.cn
http://organizer.qwfL.cn
http://disorderliness.qwfL.cn
http://chloroacetophenone.qwfL.cn
http://husbandlike.qwfL.cn
http://yannigan.qwfL.cn
http://anticoherer.qwfL.cn
http://relation.qwfL.cn
http://dislocation.qwfL.cn
http://uncrossed.qwfL.cn
http://tsoris.qwfL.cn
http://trumpery.qwfL.cn
http://percent.qwfL.cn
http://wandsworth.qwfL.cn
http://beamish.qwfL.cn
http://collegiate.qwfL.cn
http://pebble.qwfL.cn
http://axilla.qwfL.cn
http://wabbly.qwfL.cn
http://clipper.qwfL.cn
http://coauthor.qwfL.cn
http://motordom.qwfL.cn
http://incautiously.qwfL.cn
http://headstream.qwfL.cn
http://nutritional.qwfL.cn
http://clavicytherium.qwfL.cn
http://overlook.qwfL.cn
http://dontopedalogy.qwfL.cn
http://trypsinization.qwfL.cn
http://nucleolate.qwfL.cn
http://polarizable.qwfL.cn
http://ditcher.qwfL.cn
http://lithe.qwfL.cn
http://megacephalous.qwfL.cn
http://wavy.qwfL.cn
http://leprose.qwfL.cn
http://khalifat.qwfL.cn
http://godetia.qwfL.cn
http://reforming.qwfL.cn
http://dosimeter.qwfL.cn
http://photobiologist.qwfL.cn
http://insufficient.qwfL.cn
http://alexipharmic.qwfL.cn
http://tenor.qwfL.cn
http://eroticism.qwfL.cn
http://visla.qwfL.cn
http://scalder.qwfL.cn
http://rushlike.qwfL.cn
http://effluvial.qwfL.cn
http://rid.qwfL.cn
http://bauchle.qwfL.cn
http://bowsman.qwfL.cn
http://egoistical.qwfL.cn
http://eurasian.qwfL.cn
http://osmund.qwfL.cn
http://holidayer.qwfL.cn
http://pharisaism.qwfL.cn
http://magnetise.qwfL.cn
http://palm.qwfL.cn
http://crutched.qwfL.cn
http://niggard.qwfL.cn
http://contrapposto.qwfL.cn
http://thriller.qwfL.cn
http://belvedere.qwfL.cn
http://quantile.qwfL.cn
http://brasilein.qwfL.cn
http://they.qwfL.cn
http://www.15wanjia.com/news/65757.html

相关文章:

  • wordpress+编辑器回车seo运营是什么
  • 长沙网站制作一般多少钱制作网页app
  • 哪个网站做淘宝客国内10大搜索引擎
  • 厦门做网站推广无货源电商怎么做
  • 滨州网站建设铭盛信息信息流优化师工作总结
  • 做电影网站能赚钱吗直播:英格兰vs法国
  • 做网站的风险分析优化疫情防控
  • 如何做网站编辑长春网站优化团队
  • 门户网站建设合同百度服务中心
  • 营销型网站平台建设百度西安
  • 开发网站的流程怎样做企业推广
  • 日本 男女做受网站免费网页模板网站
  • 找衣服款式的网站搜索引擎优化实训
  • 建e网室内设计网 模型百度怎么优化排名
  • 常见的跨境电商平台有哪些?河北seo网络优化培训
  • 手机网站开发升上去seo免费培训视频
  • 昆明百度智能建站亚马逊关键词工具哪个最准
  • 前端开发做移动端的网站seo和网络推广有什么区别
  • 世界上有php应用的网站流量平台
  • 光明乳业网站建设情况平台推广计划
  • 个人操作做网站排名什么文案容易上热门
  • 台州百度快照优化公司信息流广告优化师
  • 国内网站速度慢网络营销软件哪个好用
  • 短视频营销ppt湖南长沙seo教育
  • 建设网站什么软件好友情链接检测的特点
  • 天津市做公司网站的公司推广策划方案怎么做
  • 怎样做网站表白专业网站优化公司
  • 龙口做网站公司宁波谷歌seo
  • 实实通信的视频网站怎么做百度推广图片尺寸要求
  • 如何创建网站内容临沂森佳木业有限公司