软件工程
文章平均质量分 92
WalkOnTwoLegs
这个作者很懒,什么都没留下…
展开
-
使用Mockito创建Mcok和Spy
Mock和Spies都是测试替身的类型,这对编写单元测试很有帮助。什么是Mock?Mock替代真实的依赖关系,可以通过编程,在调用mock对象的方法时返回指定的输出。Mockito为mock的所有方法提供了一个空的默认实现。什么是Spy?Spy是在mock出来的对象上建立的包装器(Wrapper)。这意味着首先需要一个依赖对象的新实例,然后在此之上添加wrapper。默认地,spy会调用实例真实的方法,除非这个对象的方法被stub。简而言之,spy:需要对象的真实实例。 为被监控对翻译 2021-11-29 00:00:19 · 3181 阅读 · 0 评论 -
Mockito 框架用于单元测试
Unit test, mockito翻译 2021-11-28 22:31:29 · 789 阅读 · 0 评论 -
11 Abstract factory patterns 抽象工厂模式
GoF Definition 定义:提供一个接口,以创建一系列相关的对象,而无需指定他们的具体实类(Provides an interface for creating families of related or dependent objects without specifyingtheir concrete classes).之前提到过听起来差不多的工厂模式(factory pattern),两者的区别在于:工厂模式定义了一个具体的工厂,这个工厂提供统一的接口,返回一系列相似的产品。而抽象工..原创 2020-11-15 22:30:58 · 232 阅读 · 1 评论 -
10 Factory Method 工厂方法 ——只管找工厂要产品,不在乎怎么造出来
GoF定义:定义一个用于创建对象的接口,但是让子类决定实例化哪个类。工厂方法允许类将实例化延迟到子类(Define an interface for creating an object, but let subclasses decide which class toinstantiate. The factory method lets a class defer instantiation to subclasses)。工厂方法是常用的一种设计模式。它有两个要素:工厂和产品。根据不同场景,从工厂.原创 2020-10-18 23:45:07 · 215 阅读 · 0 评论 -
09 Facade patterns 外观模式:自上而下设计,把简单留给客户,把复杂留给自己
运行GoF 定义:为系统中一系列的接口提供一个统一的接口。外观模式定义了一个更高层的接口,使得子系统更容易使用。(Provide a unified interface to a set of interfaces in a system. Facade defines a higher-levelinterface that makes the subsystem easier to use.)进一步解释:外观模式是一种很直白的设计思路,就是用一个类包含多个类对象,以实现统一的调用接口。例如,我们..原创 2020-10-08 22:45:38 · 316 阅读 · 0 评论 -
08_Command Patterns 命令模式
GoF 定义:把一个请求封装为对象,通过传递不同的请求配置客户端,并允许撤销的操作。(Encapsulate a request as an object, thereby letting you parameterize clients with differentrequests, queue or log requests, and support undoable operations.)命令模式中有4个概念:invoker、client、command、receiver.Command..原创 2020-10-07 23:13:32 · 182 阅读 · 0 评论 -
07_Adapter Pattern 适配器模式 ——改头换面,换汤不换药
GoF定义:将一个类的接口转换成客户端期望的另一个接口。适配器模式使得原本接口不兼容的类可以共同工作。(Convert the interface of a class into another interface that clients expect. The adapterpattern lets classes work together that couldn’t otherwise because of incompatible interfaces。)进一步解释:适配器在现实世界中可以看.原创 2020-10-07 00:55:36 · 210 阅读 · 0 评论 -
06_Strategy Pattern 策略模式 ——情况有变,全体切换执行Plan B
GoF 定义: 定义一个系列的算法,然后封装每个算法,使得他们之间可以互换。策略模式使得算法在客户端之间可以独立地变化。(Define a family of algorithms, encapsulate each one, and make them interchangeable. The strategy pattern lets the algorithm vary independently from client to client.)进一步解释:策略模式是把算法封装成相同的接口,然后在运原创 2020-09-30 22:51:03 · 1979 阅读 · 0 评论 -
05_TemplateMethod 模板方法 ——抽取相同代码放到父类
GoF 定义: 定义算法中的骨架,把一些步骤推迟到子类中。模板方法让子类重写算法的特定步骤,而不改变算法的结构。(Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Thetemplate method lets subclasses redefine certain steps of an algorithm without changing the algorithm’ss...原创 2020-09-26 23:07:43 · 325 阅读 · 0 评论 -
04_Decorator 装饰器 ——新瓶装旧酒,要新功能,但不要新对象!
GoF定义:对一个对象动态地添加额外功能。装饰器提供了一种替代子类实现的方法,灵活地扩展类的功能。(Attach additional responsibilities to an object dynamically. Decorators provide a flexiblealternative to subclassing for extending functionality.)进一步说明:使用装饰器是为了给现有的类方法增加额外功能。但装饰器模式不改写(modify)方法,而是扩展(exte.原创 2020-09-25 23:32:55 · 179 阅读 · 0 评论 -
03_Proxy 代理模式
GoF定义: 为另一个对象提供替代或占位符,以控制对原对象的访问(Provide a surrogate or placeholder for another object to control access to it)。通俗解释:某个类具体实现了一个功能,但使用时不直接调用这个类的对象,而是引入一个【代理类(proxy)】,用户只和proxy类对象交互。通过proxy的中介,最终实现具体功能的调用。Proxy模式的显著特征在于,代理类和具体实现类都实现了相同的接口。import java.原创 2020-09-24 22:39:52 · 236 阅读 · 0 评论 -
02_Singleton 单例模式——自始至终的唯一
GoF 定义:确保一个类只有一个实例,并提供一种全局访问的方法。( Ensure a class only has one instance, and provide a global point of access to it.)通俗说法:有些类从业务上看,只需要初始化一次,且从头到位就只需要使用一个实例。例如,专一的绅士对天发誓,一生一世只爱她一个人。如果不小心重新new了另一个实例,那麻烦就大了。单例模式从代码层面避免这样的错误,把new新对象的车门彻底焊死!举一个例子,下面的代码中,MyLo原创 2020-09-19 23:52:27 · 174 阅读 · 0 评论 -
01_Observer 观察者模式
GoF的定义:定义对象之间一对多的依赖关系,使得一个对象更新之后,依赖它的对象可以自动地得到通知和更新。(Define a one-to-many dependency between objects so that when one object changes state,all its dependents are notified and updated automatically.)说人话:在观察者模式里,定义了观察者和被观察对象,一个被观察对象可用对应多个观察者。被观察对象更新...原创 2020-09-19 22:47:14 · 210 阅读 · 0 评论