写点什么

第二次作业

用户头像
蒜泥精英
关注
发布于: 2020 年 06 月 17 日
第二次作业

倒置依赖原则

1、请描述什么是倒置依赖原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

倒置依赖原则的思想:

ü  高层模块不依赖低层模块,而是高层和低层都依赖于抽象;

ü  抽象不能依赖实现,而是实现依赖抽象;

判断是否依赖倒置的关键在于:所谓依赖的抽象,这个抽象依赖于谁,抽象是属于谁的,即:定义的接口是为低层(service)实现定义的,还是为上层(controller)定义的。

上层(controller) 定义了自己需要的接口,上层自己调用。然后该接口怎么实现,上层(controller)并不关心,而是交给由低层(service)去实现。

上层(controller)定义接口,低层(service)实现。

好莱坞规则:DON‘T CALL ME ,I‘LL call YOU.

应用程序不要调用框架,而是框架来调用应用程序。

框架是上层,应用程序是低层。

描述一个熟悉的框架,是如何实现依赖倒置原则的

描述一个熟悉的框架,是如何实现依赖倒置原则的。

 

Junit框架采用了多种设计模式来实现了依赖倒置原则,具体有如下几种:

1、模版方法模式(Template Method)

模板方法模式的组成:包括父类角色和子类角色

父类角色:定义了 提供模板,包括:@Before、@Test、@After

子类角色:为模板提供实现(具体怎么做)

 

2、适配器(Adapter)模式

JUnit在TestCase类中应用了适配器模式,在runBare方法中,通过runTest方法将我们自己编写的testxxx方法进行了适配,使得JUnit可以执行我们自己编写的Test Case

 

3.观察者模式

JUnit中Notifier和Listener,当测试开始、结束、出现错误时,Notifier将通知它管理的Listener执行相应的操作,以便于能够处理在通知过程中出现的异常。

Notifer使用了一个内部类SafeNotifier,所有的对应事件(测试开始等)覆写SafeNotifier里的notifyListener函数,在其中写调用Listener的具体哪一个函数

 

接口隔离优化Cache类





用户头像

蒜泥精英

关注

还未添加个人签名 2018.09.19 加入

还未添加个人简介

评论

发布
暂无评论
第二次作业