软件领域驱动设计 DDD 开放主机服务
万字长文掌握软件领域驱动设计 DDD - 知乎 https://zhuanlan.zhihu.com/p/489070825
开放主机服务定义公开服务的协议(亦称为“服务契约”),包括通信方式、传递消息的格式(协议),让限界上下文可以被当做一组服务访问。开放主机服务也可以视为一种承诺,保证开放的服务不会轻易做出变化。
对于进程内的开放主机服务,称为本地服务(对应 DDD 中的应用服务)。
对于进程间的开放主机服务,成为远程服务。根据选择的分布式通信技术的不同,又可以定义出类型不同的远程服务:
- 面向服务行为,比如基于 RPC,称为提供者(Provider);
- 面向服务资源,比如基于 REST,称为资源(Resource);
- 面向事件,比如基于消息中间件,称为订阅者(Subscriber);
- 面向视图模型,比如基于 MVC,称为控制器(Controller);