严格的来说,它们不是装饰模式,而是一种通信的机制。但DatagramPacket能实现确定数据,并封装成数据包的功能,相当于将数据打包,打包时加入了一些标记头信息,也可类似看作是对数据的装饰。DatagramSocket实现创建udp服务的功能。
DatagramSocket用来发送和接收数据报包的套接字。数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。
DatagramPacket表示数据报包。数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。
可以认为集装箱(DatagramPacket)只有通过港口(DatagramSocket),才能将货物运送出去,DatagramSocket更像是DatagramPacket的先类,即必须要有DatagramSocket存在,DatagramPacket才能发送数据包
这更像是一种递进的通信模式。装饰一般只是针对数据而进行的操作,而这两个类不光涉及数据的处理,还涉及通信的管道。所以,严格意义上说,不算是装饰类 |