上位機(jī)開發(fā)必備的一個實(shí)體類
? ? 上位機(jī)開發(fā)過程中,當(dāng)自己編寫通信類庫的時候,包含ModbusRTU協(xié)議、ModbusTCP協(xié)議、各種PLC協(xié)議或其他自定義協(xié)議,都會涉及到報文的拼接;另外,如果大家做過一些配方管理的項(xiàng)目,也會遇到一些將各種數(shù)據(jù)類型轉(zhuǎn)換成字節(jié)數(shù)組,然后進(jìn)行拼接之后,統(tǒng)一發(fā)送給控制器的情況。對于這些情況,咱們常用的處理方式如下:
一、通過創(chuàng)建字節(jié)數(shù)組,然后依次通過索引給每個字節(jié)賦值:

二、通過創(chuàng)建List<byte>字節(jié)集合,然后通過添加的方式。
在這里我們對第二種方式做了一下封裝,形成一個實(shí)體類,提供添加單個字節(jié),添加多個字節(jié),清除等接口,便于直接使用。

下面介紹一個關(guān)于這個ByteArray類的使用,同樣是實(shí)現(xiàn)上述的功能,編寫方式修改如下:

? ??
雖然僅僅只是對List<byte>做了一層封裝,但是使用起來會方便很多。
大家可以看到,代碼的可讀性增強(qiáng)了很多,也變得更加簡潔,而且這種方式非常通用,所有的報文拼接都可以使用這種方式。
標(biāo)簽: