Façade与Service的区别?
Façade与Service的区别?
Facade
(门面层)和 Service
(服务层)都是分层架构中常见的组件,但它们的定位、职责和设计目的有显著区别。简单说,Service
是业务逻辑的具体实现者,而 Facade
是业务接口的统一封装者,二者的核心区别如下:
1. 核心职责不同
-
Service
层:
专注于具体业务逻辑的实现,是业务处理的“核心执行者”。
例如:OrderService
实现“创建订单”的具体逻辑(校验库存、计算价格、保存订单数据)。UserService
实现“用户注册”的具体逻辑(密码加密、手机号校验、写入数据库)。
它直接操作数据访问层(DAO
),处理数据转换、规则校验、事务控制等细节,是业务逻辑的“最小执行单元”。
-
Facade
层:
不直接实现业务逻辑,而是对多个Service
进行“整合与封装”,对外提供统一、简洁的接口,是业务调用的“入口协调者”。
例如:OrderFacade
的createOrder(...)
方法可能会协调OrderService
、InventoryService
、PaymentService
三个Service
共同完成“创建订单”的完整流程(先扣库存、再