动态代理基于什么原理?谈谈java反射机制。 代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 反射机制是java 语言提供的一种基础功能,赋予程序在运行时自省的能力。通 ...
分类:
编程语言 时间:
2020-07-11 12:53:57
阅读次数:
65
代理模式: 为其他对象提供一种代理以控制对这个对象的访问。 1.为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 开闭原则,增加功能代理类除了是客户类和委托类的中介之外 ...
分类:
其他好文 时间:
2020-07-11 12:38:20
阅读次数:
54
@ 什么是装饰器模式? 装饰器模式的定义: Attach additional responsibilities to an object dynamically keeping the same interface.Decorators provide a flexible alternative ...
分类:
其他好文 时间:
2020-07-11 00:24:31
阅读次数:
57
闲谈设计模式 Intro 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 了解这些前辈们总结出来的经验有助于帮助你写出来更优秀的代码,帮助你写出可扩展、可读、可维护的高质量代码。 在极客时间里推出了数据结构和设计模式的王争说了一句话,如果说“ ...
分类:
其他好文 时间:
2020-07-11 00:21:46
阅读次数:
80
定义 责任链,顾名思义,就是用来处理相关事务责任的一条执行链,执行链上有多个节点,每个节点都有机会(条件匹配)处理请求事务,如果某个节点处理完了就可以根据实际业务需求传递给下一个节点继续处理或者返回处理完毕 案例 客户端输入校验,需要多个校验步骤,比如sql注入校验、违禁词校验、js校验 客户端调用 ...
分类:
其他好文 时间:
2020-07-11 00:20:52
阅读次数:
66
封装变化之对象创建 在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。 这种紧耦合的问题很大程度是由new关键字带来的,由于 ...
分类:
其他好文 时间:
2020-07-10 21:30:25
阅读次数:
68
面向对象的特性:封装、继承、多态。在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率。 传统测试脚本的弊端 测试脚本分离,维护成本高 可扩展性差 复用性低等 PageObject设计模式 P ...
分类:
其他好文 时间:
2020-07-10 21:23:56
阅读次数:
81
封装变化之对象创建 在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。 这种紧耦合的问题很大程度是由new关键字带来的,由于 ...
分类:
其他好文 时间:
2020-07-10 20:54:05
阅读次数:
43
1、单一职责原则 例:一个类只对一个表进行操作,尽量不要操作多张表的增删改查。 解决方式:可以拆分成多个类。2、接口隔离原则 例:多个类实现同一个接口,但并没有使用到这个接口的所有方法。 解决方式:可以拆分成多个接口,让不同类去实现自己所需要的接口。3、依赖倒转原则 例:高层建筑为设计(接口和抽象类 ...
分类:
其他好文 时间:
2020-07-10 19:24:57
阅读次数:
63