提取的接口命名约定

Dav*_*ier 5 c++ interface naming-conventions

我目前正在重构一些代码以使其更易于测试.具体来说,我正在提取几个类的接口,以便轻松创建测试双精度.

我想保持公共接口与此代码相同,在原始类之后命名接口.

然而,这给我留下了什么称为原始类的问题.

我正在使用C++.

如果我的界面是:

class ServiceClient;
Run Code Online (Sandbox Code Playgroud)

我应该怎么称呼这个版本,我想出了一些我不相信的选择:

class ConcreteServiceClient;
class ServiceClientImpl;
class StandardServiceClient;
class BasicServiceClient;
Run Code Online (Sandbox Code Playgroud)

人们使用哪些约定?

Mar*_*ork 6

我会更改接口类的名称.

class ServiceClientInterface {};
Run Code Online (Sandbox Code Playgroud)

然后将具体实现放在seprate命名空间中:

namespace MyService
{
    class Client: public  ServiceClientInterface {};
}

namespace MyServiceTest
{
    class TestClient: public ServiceClientInterface {};
}
Run Code Online (Sandbox Code Playgroud)

或者完全不同的东西.
PS.我是全名.我不喜欢简短的'我'是界面的东西.你的口味可能有所不同