试题一(25分,架构风格+质量属性ATAM评估)
【背景】某企业需要开发一套业务系统,需求:①需要支持多类外部系统接入;②业务核心领域逻辑需要与外部数据库、消息队列、Web接口解耦,方便替换外部技术组件;③支持后期业务功能快速扩展;④系统需要保证高可用,故障快速隔离;⑤同时兼顾性能响应速度与可修改性。架构组讨论候选架构:分层架构、微服务、六边形(端口适配器)架构。
【问题1】(9分)请简述六边形(端口适配器)架构核心思想,端口与适配器分别承担什么职责。
参考答案1、核心思想:将业务领域逻辑放置在架构内部中心;外部系统(Web、数据库、MQ、第三方接口)全部隔离在外部;业务逻辑不直接依赖外部具体技术实现。
2、端口:定义抽象接口,描述业务需要对外/对内的能力,不绑定具体技术。
3、适配器:端口的具体实现,对接各类外部技术,做协议转换、数据转换。