由於本人最近一段時間一直在忙著跟企業開發平台相關的事情,所以有感而發一下;主要是想跟大家探討一下企業是否需要有自己的開發平台;
我們作為.NET程式員,基本上開發的都是一些商務資訊系統,都是某個應用行業的應用系統多,所以在下曾想過開發一套目前本公司能用的系統開發平台;
其實本人認為有這個必要,我大概說一下我的看法,也好給大家提個思考的方向;[王清培著作權,轉載請給出署名]
本公司是從事醫藥行業的資訊系統開發,一些大的業務模型基本上已經固定,很少有改動;所以本人想是否能將主要的商務邏輯抽象出來進行封裝;再加上我們公司的人員流動比較快,新來的員工對業務的不熟很難上手開發,所以公司經常組織新員工的培訓,但是效果還不明顯;公司的業務系統所處理的都是全國所有的藥品交易資料,所以資料非常重要不能出現任何的小差錯;但是還是有因為商務邏輯的不熟導致程式出現錯誤;
我想這樣的情況在其他的公司也出現過,所以公司是否願意投入點成本開發一套這樣的架構;大概的實現思路是這樣的,可能存在不足;
1:找老員工或者商務邏輯比較熟的人員進行商務邏輯的提取,抽象出核心業務架構,這個架構是至關重要的,每當業務需求有變化時,這裡的代碼只能由比較熟悉的人來修改,這樣可以防止業務不熟的人員修改引起的重大錯誤;
2:將目前公司的系統進行重新分割,也就是重新分層,盡量使用外掛程式式的開發方式開發,將功能點嚴格區分開發,高內聚低耦合的呼叫慣例;這樣當系統出現功能改動而不是業務改動的時候,我們能很方便的進行更換;有興趣的朋友可以參見一下本人的“.NET簡談構件系統開發模式”一文;
3:盡量將介面UI層抽象出來,好處是剛畢業的新員工能有事做,在不熟業務功能的時候能通過慢慢的熟悉大概的介面流程從而熟悉系統;
上面是我的一些總體想法;但是這樣的一個系統,說大也大說小也小,具體要看公司的業務了,如果公司是大型的企業,那麼可能投入的成本比較大,但是從長遠角度講,還是有必要開發的,我們來算一筆賬,這樣的賬是站在公司的角度來算的,可能對新員工有點不公平;
從公司的角度講,如果能成功的開發出了這樣的一個平台,那麼將減少公司對新員工的技術培訓的投入,剛來的員工不需要進行複雜的技術培訓,只要對新員工進行業務的培訓,這樣能將大量的精力節省下來去研究業務,這也是公司所想的;只要將公司的核心業務代碼抓在一些進階程式員、系統架構師或者一直公司核心技術團隊手上,我覺得這樣公司能節省很大一部分精力;公司發生過由於刪除資料時,不熟悉商務邏輯導致後果非常嚴重;這樣的損失是非常巨大的,所以本人覺得已業務為主導、為核心的企業可以考慮開發這樣平台;[王清培著作權,轉載請給出署名]