qian奇岸微信二维码 如您需要快速报价 请加技术经理微信 服务热线
13501992972
"MENU"
首页 > 行业新闻 > 正文

JDK里的 Collections

奇岸开发
ahqian.com
01/12/2023
wechat

无需加好友免费技术支持

创作者:平头哥蜜獾

由来:微信的公众号平头哥蜜獾技术性博闻

在如今的网络上,每一个网址都需要具备登录作用。拿大家专业技术人员经常访问的专业技术网址 CSDN、 开拓者、 博客园等作为例,他们都是有登录作用,并且它们登录步骤都是差不多的,假如我们将这些的网站登录步骤用编码仿真模拟出去,该怎么用呢?

在仿真模拟过程以前,先分析一下这一登录过程,实际上不管哪个网站,登录过程全是下列四个步骤:

1.跳转登录网页页面2。键入账户密码3。点一下登录按键4,跳转首页,大家应用编码仿真模拟网址登录过程,大家应用 CSDN、 开拓者为例子。

仿真模拟 CSDN 登录

仿真模拟开拓者登录

测试类

检测结果

从检测结果看来,大家设计和完成没什么问题,在这儿 CSDN、 开拓者有着自己的操纵过程,假如我不小心它取走 juejin.clickLogin();所写的 juejin.setUserAndPass();在我眼前,我登录并不是没有成功吗?仔细想一想, CSDN、 开拓者的登录过程是一样的。我们可以将这个过程固定于一种方法中,使它成为一个不能变化的规范过程吗?或许这是合理的,大家应用一种新的设计方案模式,称之为模板方法模式。先简易了解一下模板方法模式。

界定模板方法模式

在一种方法中界定算法的框架,并把一些流程延迟时间到子类中。模板方法容许子类彻底改变优化算法中的一些流程,且不更改优化算法构造。

模板方法模式的通用性类图

与其它模式对比,模板方法模式较为简单,模板方法模式涉及到2个人物角色:

AbstractClass:内部类ConcreteClass:我们要用模板方法模式重新定位我们自己的仿真模拟登录过程, 大家依照 AbstractClass仿真模拟登录模板内部类规则 LoginTemplate, LoginTemplate实际设计方案如下所示:

大家在取过登录涉及到的四种方法,并界定了模板方法 login()模板方法界定了执行顺序。必须提醒的是,用了模板方法 final改动的目的在于避免子类重新写过更改执行顺序。

ConcreteClass类是具体完成,我们应该界定二者 ConcreteClass类, Csdn、 JueJin类也是我们的实际完成,这两种具体的完成类似大家最开始定制的,具体登录关键点都在这里。 Csdn、 JueJin实际完成如下所示:

再次撰写我们自己的测试类别 App,详细编码如下所示:

检测结果:

应用模板模式后,仿真模拟登录给我们带来什么价值?我总结了模板模式的应用增添了下列益处:

LoginTemplate类核心一切,有维护 login()方法操纵全部登录过程只有一个操纵次序的区域。必要时改动,比较方便,防止了实际实现类中错误操作所导致的次序难题。假如登录之前需要加上智能机器人认证,我们只需加上智能机器人认证 clickLogin()加上一个 verify()方法,随后实际完成子类,确保这一过程不会错。子类只需致力于完成,子类不用管理方法实行过程。从他们网站登录实例能够得知,模板方法模式的确给我们带来许多益处。使我们总结一下模板方法模式优缺点。

模板方法模式的优势

封装形式不能变一部分,拓展可变性一部分获取公共性编码,有利于维护保养个人行为由成员变量操纵,子类完成模板方法模式的缺陷

每一个不同类型的完成都要界定一个子类,这可能导致子类的数量提升,更多的系统软件,更抽象化抽象方法设计,子类实行得到的结果会影响到成员变量得到的结果,造成反方向系统结构,提升编码阅读文章难度,JDK 里的 Collections.sort()方法用模板方法排列,感兴趣的可以深入了解一下。

热度373

了解更多JDK里的 Collections欢迎联系奇岸开发客服。

奇岸开发可定制企业官网小程序、小程序商城、餐饮外卖小程序、预约小程序、多门店小程序、分销小程序及个人小程序。

微信二维码

微信长按识别或扫一扫,无需加好友直接咨询,企业网站开发、网站托管维护、企业管理系统开发、微信小程序制作、域名主机、网站备案、网站改版等提供专业技术解答。

精彩推荐

猜你喜欢