久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java - 關(guān)于設(shè)計(jì)模式的選擇

瀏覽:109日期:2023-10-30 15:11:11

問題描述

場(chǎng)景如下: 客戶會(huì)通過sdk傳過來原始消息,我現(xiàn)在開發(fā)的模塊收到消息后會(huì)根據(jù)配置對(duì)該消息進(jìn)行提取和轉(zhuǎn)換生成新的消息格式,并通過mq傳給下游模塊。

如果套用一個(gè)模式的話應(yīng)該是用什么呢?

編輯于:2017年6月22日 18:00

可能我沒有描述清楚,導(dǎo)致大家誤解了,詳細(xì)描述一下場(chǎng)景:

接收消息

判斷該消息是從哪個(gè)客戶發(fā)過來的,并取出該客戶在后臺(tái)的配置

根據(jù)配置信息,進(jìn)行消息的提取和轉(zhuǎn)換,生成新格式的消息

把新消息發(fā)送給后端其他模塊進(jìn)行處理

問題解答

回答1:

你所完成的功能是一個(gè)轉(zhuǎn)換器,限定死要求來的數(shù)據(jù)的格式,譬如id,type,content,你可以寫一個(gè)接口,擁有g(shù)etId,getType,getContent方法,要求實(shí)現(xiàn)方必須提供這幾個(gè)值。經(jīng)過你的轉(zhuǎn)換器后,得到不同的對(duì)象。

回答2:

我想可以這樣來實(shí)現(xiàn):

針對(duì)不同的消息,有不同的消息處理器(Handler)來完成對(duì)應(yīng)的功能,消息提取和新消息的生成等;

這些Handler實(shí)現(xiàn)了一個(gè)共同的接口,后續(xù)還可以繼續(xù)增加新的Handler;

所有Handler形成一個(gè)處理鏈,每個(gè)Handler有個(gè)match方法來判斷是否該由自己處理,不能處理的,交給后續(xù)的Handler。

所以我覺得可以考慮責(zé)任鏈模式,策略模式等。

回答3:

這么簡(jiǎn)單的需求,adapter,適配一下就可以了

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 宁陵县| 慈利县| 江陵县| 万安县| 丹凤县| 钟祥市| 天峨县| 桑日县| 页游| 达州市| 桂阳县| 桐庐县| 藁城市| 清水县| 上林县| 遵义县| 克什克腾旗| 黎平县| 石狮市| 宁强县| 乌兰浩特市| 明星| 宁国市| 新源县| 东乡县| 习水县| 贺州市| 历史| 莎车县| 桦甸市| 龙井市| 莆田市| 花垣县| 苍山县| 崇义县| 桐庐县| 尼勒克县| 两当县| 宜城市| 连云港市| 东宁县|