軟件開發行業,經過一個或多個項目之后,企業都會沉淀出許多非常優秀的組件,這些優秀的組件能夠為今后其他的項目提供便利的基礎。總體而言,企業的沉淀的組件大致可分為三類:程序類組件、數據類組件、配置類組件。
程序類組件:程序類組件是最常見的組件,包括常見的java、go、python等代碼,經過構建之后,用於可獨立部署或使用的介質,如:日志工具類、日期工具類、字符串工具類、郵件發送工具類等;
數據類組件:在應用的變更過程中,一般都會涉及到數據庫的變更,包括數據庫的備份與恢復,數據表的備份與恢復,以及按照要求進行數據變更,如:表空間檢查與清理,數據的備份與恢復等;
配置類組件:傳統的應用配置信息主要以xml、config或properties文件為主,且應用和配置打包成一個部署包,而應用與配置聚合在一起,必然導致不同的環境,需要重新構建打包,然微服務體系下,應用與配置分離,因此專門存儲配置的程序,稱為配置類組件,如:apollo、zookeeper等。
1. 組件定義規范
組件的分類主要有程序類組件、數據類組件和配置類組件,因此,組件的定義也應該從程序類組件規范、數據類組件規范、配置類組件規范。
(一) 程序類組件規范
1) 命名規范:公司域名.工程名.版本.介質后綴,舉例說明:com.primeton.common-util.1.1.3.jar,其中
a) com.primeton為公司域名;
b) common-util為工程名;
c) 1.1.3為版本號;
d) jar為介質后綴。
2) 包名規范:公司域名.模塊名稱,舉例說明:com.primeton.common.util;
3) 類名規范,例如:StringUtil,DateUtil等;
(二) 數據類組件規范
1) 開發規范:數據類組件開發過程中,需要將數據類相關的參數進行抽象,以便於其他項目或產品進行復用,例如:實例名、用戶名密碼、端口等。
2) 命名規范:數據類組件一般為腳本組件,因此在腳本命名方面,需要能夠體現出場景含義,如:checkTablespace,backupDB等;
(三) 配置類組件規范
配置類組件一般是將程序中的配置文件進行提取並存儲,如:Apollo、Spring Config等。
2. 組件使用規范
組件創建后,如何在實際應用中使用,其實需要遵循一定的使用原則或使用規范,具體如下:
(一) 在應用使用過程中,僅添加本應用需要的版本,禁止添加同一組件多個版本;
(二) 在應用使用過程中,原則上只能添加Release版本,不建議添加Snapshop版本;
(三) 在應用使用過程中,需要注意組件支持的環境版本,如:JDK8、DB2 9.7等;
(四) 在應用使用過程中,需要注意是否有必要使用某組件,如:進行數據庫遷移時,是否有必要使用配置類組件。