在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?
在研究分层架构时,常通过概念性的定义或 OSI 七层应用(架构)来说明或解释分层架构:
取自《 POSA , VolI , p22 》
作为一个在项目中引入分层架构的应用者,我们应该从更具体的规范来实现分层架构:
《 POSA , VolI 》 为我们提供了更多的实现规范,然而我要解决的是有关层的 单向依赖 问题。因为有一些人在使用分层架构时,尤其是将分层架构引入到项目的目录结构时,对于某些对象的划分(从属)存在一些混乱问题。
如果你有兴趣了解更多分层架构的实现规范,可参考:《 POSA , VolI 》第二十六页到第二十九页相关知识。
在领域驱动设计(DDD)中采用的是 松散分层架构 ,层间关系不那么严格。每层都可能使用它下面所有层的服务,而不仅仅是下一层的服务。每层都可能是半透明的,这意味着有些服务只对上一层可见,而有些服务对上面的所有层都可见。
注意:松散分层架构依然是单向依赖,表明上层只能调用下层的服务,下层不能调用上层的服务。
同时在领域驱动设计(DDD)中也采用了 继承分层架构 ,高层继承并实现低层接口。我们需要调整一下各层的顺序,并且将 基础设施层 移动到最高层。
注意:继承分层架构依然是单向依赖,这也意味着领域层、应用层、表现层将不能依赖基础设施层,相反基础设施层可以依赖它们。
领域层 UserRepository 接口:
基础设施层 JpaUserRepository 实现类:
我们确实使用包来划分层级,但是包名并不能真正表示分层。
我们通常将资源库的实现放置在基础设施层,这是因为我们采用了 继承分层架构 。如果你现在采用的是 松散分层架构 ,你需要将资源库的实现放置在领域层。这是层的单向依赖原则所致,你不应该破坏这个原则。没有任何理由需要破坏分层架构的单向依赖原则,除非你不采用分层架构。
我们应该从混乱到有序的这个历史过程去研究(分析)分层架构,尤其是我们现在处在前后端分离的环境下,应用系统使用分层架构又面临着什么样的划分变化。
应用系统使用分层架构在第三阶段基本已经成熟。因为我们要探讨的是有关领域驱动设计(DDD)的分层架构,所以我们依然需要做进一步补充。具体包括两方面的补充:
1、感知层感知层是物联网发展和应用的基础。感知层相当于物联网的皮肤和五官,完成识别物体、
采集信息的任务。感知层包括二维码标签和识读器、RFID标签和读/写器、摄像头、GPS、各
种传感器、视频摄像头、终端、传感器网络等数据采集设备。也包括数据接入到网关之前的传
感器网络。RFID技术、传感和控制技术、短距离无线通信技术是感知层涉及的主要技术。
2、接入层
接入层由末梢节点和接入网关(Access Gateway)组成,完成应用末梢各节点信息的组
网控制和信息汇集,或完成向末梢节点下发信息的转发等功能。这些末梢节点构成了末梢网络
或传感网(由大量各类传感器节点组成的自治网络)。
3网络层
网络层相当于物联网的神经中枢和大脑,实现信息传递和处理。网络层包括通信与互联网
的融合网络、网络管理中心、信息中心和智能处理中心等,网络层将感知层和接入层获取的信
息进行传递和处理。网络层也包括信息存储查询、网络管理等功能。
4、应用层
应用层相当于物联网的“社会分工”,即与行业需求结合,实现广泛智能化。应用层是物
联网与行业专业技术的深度融合,与行业需求结合,实现行业智能化,这类似于人的社会分
工,最终构成人类社会。
物联网的体系结构可以分为感知层,网络层和应用层三个层次。
感知层。是物联网发展和应用的基础,包括传感器或读卡器等数据采集设备、数据接入到网关之前的传感器网络。感知层以RFID、传感与控制、短距离无线通信等为主要技术,其任务是识别物体和采集系统中的相关信息,从而实现对“物”的认识与感知。
网络层。是建立在现有通信网络和互联网基础之上的融合网络,网络层通过各种接入设备与移动通信网和互联网相连,其主要任务是通过现有的互联网、广电网络、通信网络等实现信息的传输、初步处理、分类、聚合等,用于沟通感知层和应用层。目前国内通信设备和运营商实力较强,是我国互联网技术领域最成熟的部分。
应用层。是将物联网技术与专业技术相互融合,利用分析处理的感知数据为用户提供丰富的特定服务。应用层是物联网发展的目的。物联网的应用可分为控制型、查询型、管理型和扫描型等,可通过现有的手机、电脑等终端实现广泛的智能化应用解决方案。
资料拓展:
物联网的整个结构可分为射频识别系统和信息网络系统两部分。射频识别系统主要由标签和读写器组成,两者通过RFID空中接口通信。读写器获取产品标识后,通过internet或其他通讯方式将产品标识上传至信息网络系统的中间件,然后通过ONS解析获取产品的对象名称,继而通过EPC信息服务的各种接口获得产品信息的各种相关服务。整个信息系统的运行都会借助internet的网络系统,利用在internet基础上的发展出的通信协议和描述语言。
因此我们可以说物联网是架构在internet基础上的关于各种物理产品信息服务的总和。从应用角度来看,物联网中三个层次值得关注,也即是说,物联网由三部分组成:一是传感网络,即以二维码、RFID、传感器为主,实现对“物”的识别。二是传输网络,即通过现有的互联网、广电网络、通信网络等实现数据的传输与计算。三是应用网络,即输入输出控制终端。
参考资料:
1、感知层实现对物理世界的智能感知识别、信息采集处理和自动控制,并通过通信模块将物理实体链接到网络层和应用层。
2、网络层主要实现信息的传递、路由和控制,包括延伸网、接入网和核心网,网络层可依托公众电信网和互联网,也可依托行业专用通信网络。
3、应用层摆阔应用基础设施、中间件和各种物联网应用。应用基础设施、中间件为物联网应用提供信息处理、计算等通用基础服务设施、能力以及资源调用接口,以此为基础实现物联网在众多领域的各种应用。
沃腾通讯物联云平台提供三网运营商物联网卡接入、管理、运营和数据服务,提供物联网行业解决方案与平台支撑。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)