分层的另一种含意: 规范 + 实现
分层的另一种含义: 规范 + 实现
一般而言的“分层”是指下层提供服务给上层;下层比上层更通用,一个下层模块可以为上层多个模块共用。
另一种分层模型是: 上层为“规范”层,下层为“实现”层。 这并不是Java意义上的interface/class,而是指 jvm的 “JSR规范/各平台具体的实现” 这种分层。 这种分层一般用桥接模式实现,上下层之间并没有语言级别的interface/class关系,而且下层不具通用性,相反,下层某个模块的实现一般只服务于上层某个特定的契约;最后,这种分层也未必严格,有时下层也需要调用上层接口,尤其是在事件驱动的action/listener模型中,下层收到事件后,必须想办法告诉上层。
在一个完整的执行栈中,上述的规范和实现总是呈现一种上下关系;所以把这种划界模式称为“分层”也不为过。
一般而言的“分层”是指下层提供服务给上层;下层比上层更通用,一个下层模块可以为上层多个模块共用。
另一种分层模型是: 上层为“规范”层,下层为“实现”层。 这并不是Java意义上的interface/class,而是指 jvm的 “JSR规范/各平台具体的实现” 这种分层。 这种分层一般用桥接模式实现,上下层之间并没有语言级别的interface/class关系,而且下层不具通用性,相反,下层某个模块的实现一般只服务于上层某个特定的契约;最后,这种分层也未必严格,有时下层也需要调用上层接口,尤其是在事件驱动的action/listener模型中,下层收到事件后,必须想办法告诉上层。
在一个完整的执行栈中,上述的规范和实现总是呈现一种上下关系;所以把这种划界模式称为“分层”也不为过。