每周学习总结 - 架构师培训 3 期
JUnit是一个框架 我们都是基于它的“限制”在写test case
JUnit用到了策略模式,模板方法模式,它们两个往往是配合使用的
IDEA运行JUnit也用到了策略模式 —— plugin接口规范
模板方法模式:在基类中(抽象类)定义过程,过程中定义了方法的执行顺序,让子类来实现某些Juin的方法
Servlet也是模板方法模式
JUnit还包含组合模式 适合做树形结构处理
组合模式一定包含一个接口,一个节点,一个叶子,节点和叶子都实现了这个接口,节点一定有一个list,包含了别的节点或者叶子
JUnit还用到了装饰器模式(TestSetup),装饰者和被装饰者都实现同一个接口,构造函数都是实现了该接口的类,保持对象的功能不变,扩展其外围的功能,相对的,模板方法模式和策略模式则保持算法的框架不变,扩展其内部的实现。
装饰器和继承的比较:
装饰器是动态的,继承是静态的
装饰器可以任意组合
设计模式代码大多大同小异,但对应到具体使用场景则完全不同。
Spring依赖注入的本质是通过配置(xml或注解)加反射的方式统一实例化对象,并放到内置容器(map)中。因为存在map中,所以都是单例的。
SpringMVC的本质是通过DispatcherServlet类来统一处理请求,找到对应的方法来处理,我们只需要写请求url和对应的处理方法即可。
难的问题不可怕,复杂的问题才可怕,复杂的问题容易混乱,就算一时解决了以后还会混乱,难的问题只要解决了以后就不会复杂。一定要把复杂的问题理清楚,方法就是活用设计模式,拆分职责,类的数量可以多,但是要让类的职责单一。
AOP类似于代理模式
评论