業務資料 自動翻譯工具 第一版

2021-10-21 14:55:47 字數 1378 閱讀 9692

因為涉及業務開發,經常遇到一些id需要翻譯成名稱,例如:「機構id」翻譯為「機構名稱」,「使用者id」翻譯為「使用者名稱」,以及一些業務id需要翻譯為業務名稱。經常遇到大量的重複**填寫。

list

list()

; paging

paging()

; list

list()

; paging

paging()

;

經常需要把單據的相關操作人、所述機構都需要轉換,但是這些內容都是通用的,但是不同的dto或者方法中,需要特殊處理翻譯,這樣影響了開發效率和增加了**的冗餘。

為了解決上述問題,提高團隊的開發效率,因此萌發了翻譯工具的開發。當時只是簡單的考慮通過公共介面,每個dto實現介面,提供id和設定name方法。

public

inte***ce

orgtransform

public

class

voucherwarehouse

implements

orgtransform

public

void

transorgname

(string name)

}

public

class

orgtranlator

list

idlist =

newarraylist()

;for

(orgtransform form : list)

} map

orgmap =

search

(idlist)

;for

(orgtransform form : list)}}

private map

orgsearch

(list

idlist)

}

@autwired

private orgtranlator orgtranlator ;

list

list()

不同的dto需要實現相同的orgtransform,**重複性也有點高。

如果voucherwarehouse如果再增加去向單位id,就需要重新定義乙個transform介面,專門處理同乙個dto存在多個相同業務的字段。

對已有**有一定的侵入性,使用起來不太簡單。

使用一段時間後,第一版的**重複率也比較高,同時使用比較繁瑣,經過參考其他的**,針對第一版的3個缺點,確定了aop+自定義註解+公共**的抽取(jdk反射),生成了第二版,見:自動翻譯工具-第二版

第一版Python程式

coding cp936 import os import cpickle as p class person def init self,name,age,self.name name self.age age self.def str self return name self.name age...

MVC面試第一版

mvc流程 1 使用者向伺服器傳送請求,請求被springmvc 前端控制器 dispatcherservlet 捕獲 2 dispatcherservlet對請求url進行解析,得到請求資源識別符號 uri 4 dispatcherservlet 根據獲得的handler,選擇乙個合適的handl...

HomePlay第一版demo發布

一直想做乙個能夠方便跨平台開發的應用框 基礎部分已經完成,於是將這個處於襁褓中的框架應用在win32基礎之上,花了些功夫研究了ffmpeg的使用,做了乙個demo,發布出來吸引批評與建議。框架基礎部分用c語言開發,以dll方式封裝了核心功能以及對ffmpeg的使用部分。出於簡單考慮,外部採用mfc包...