服务层可以看做是表现层结束、业务层开始的一个便捷,服务层用来尽可能地降低表现层和业务逻辑之间的耦合,让表现层无需关注业务逻辑层中的具体实现组织方式
1. 服务层究竟是什么?
1)服务层:
2)面向服务是一种设计业务流程的方式,由一系列互相连接的服务组成,面向服务并不是某种特定的技术,而更像是一种不同的组织业务操作的方式
2. 实战:
1)何时使用服务层:若有多个前端且应用逻辑较为复杂,推荐提供一套公用的API:
2)服务层优势:
实现一个粗粒度的远程接口,降低表现层与业务层之间的通信流量;
若通过服务来实现,方便让该层在远程执行或通过配置修改绑定设置
3)服务层劣势:
若系统较简单,则有过度设计设计之嫌
4)服务层的位置:根据具体情况分析
5)设计实现服务层类:
服务层中的类应该暴露出契约(实现接口)
处理角色和安全
3. 相关模式:
远程门面模式
数据迁移对象(DTO)模式
适配器模式
4. 面向服务架构:
SOA原则:边界清晰、服务自治、使用契约,而不是类(基于消息的语义,如通过交换xml串)、兼容性基于策略
SOA实用规则:
5. 富web前端特例:
为了用户认证,增加Ajax服务层(用户与检查cookie,然后再执行逻辑):