自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

公司ERP系統(tǒng)重構(gòu)那些事

開(kāi)發(fā) 架構(gòu)
記一次會(huì)議,我提出插件化的想法,有支持也有反對(duì),其中“系統(tǒng)架構(gòu)師”表示插件化后的項(xiàng)目沒(méi)什么意義,今天來(lái)討論項(xiàng)目是否需要插件化的一些觀點(diǎn)。

記一次會(huì)議,我提出插件化的想法,有支持也有反對(duì),其中“系統(tǒng)架構(gòu)師”表示插件化后的項(xiàng)目沒(méi)什么意義,今天來(lái)討論項(xiàng)目是否需要插件化的一些觀點(diǎn)。

項(xiàng)目背景

公司內(nèi)部“ERP”系統(tǒng),其職責(zé)以遠(yuǎn)遠(yuǎn)超出ERP,更像公司內(nèi)部信息管理系統(tǒng),以下簡(jiǎn)稱(chēng)公司ERP或公司ERP系統(tǒng)。公司ERP系統(tǒng)是C/S架構(gòu),除了用戶(hù)控件之外系統(tǒng)內(nèi)部實(shí)現(xiàn)沒(méi)有分層,以文件夾的形式維護(hù)著一個(gè)個(gè)業(yè)務(wù)模塊的功能。

這個(gè)系統(tǒng)除了包含了ERP系統(tǒng)的基本功能外,還需要維護(hù)公司內(nèi)部電商網(wǎng)站的數(shù)據(jù)(網(wǎng)站后臺(tái)的一些功能被搬到C/S上),客服管理等等的功能。

值得一提的是,公司ERP系統(tǒng)為了安全考慮將數(shù)據(jù)訪問(wèn)以Web Services向外部公開(kāi),Web Services內(nèi)部實(shí)現(xiàn)安全認(rèn)證(IP認(rèn)證、MAC認(rèn)證等),這樣做的優(yōu)缺點(diǎn)或者說(shuō)有用沒(méi)用我們先不考慮,只是讓大家了解下有這么一出事情。

由于項(xiàng)目日漸龐大,維護(hù)成本極高,編譯時(shí)間>3分鐘(不能確保一定能編譯過(guò)),導(dǎo)致了開(kāi)發(fā)和測(cè)試過(guò)程中嚴(yán)重的時(shí)間消耗,公司決定重構(gòu)該項(xiàng)目。

一提插件化想法

大約在2個(gè)月前,我首次提出了插件化的想法,“系統(tǒng)架構(gòu)師”以我們的項(xiàng)目沒(méi)必要弄的這么復(fù)雜拋棄了插件化開(kāi)發(fā)模式,當(dāng)時(shí)手上沒(méi)有完善的Demo和文檔再加上本人的口才也不是很好,就暫時(shí)的沒(méi)有卷入與其討論。

二提插件化想法

距離上一次提插件化已過(guò)去了一個(gè)多月,這段時(shí)間,我努力完善Koala Framework,以盡早的展現(xiàn)出完善的插件機(jī)制一次,這一次我做足了工作,畫(huà)了當(dāng)前情況的 開(kāi)發(fā) - 測(cè)試 - 發(fā)布流程圖和插件化之后的 開(kāi)發(fā) - 測(cè)試 - 發(fā)布的流程圖,寫(xiě)了一份“插件式開(kāi)發(fā)模式討論會(huì)”的PPT,花了一個(gè)下午的時(shí)間寫(xiě)了一個(gè)ERP Demo。Demo的截圖可以看:Koala Framework是什么?我為什么要寫(xiě)這個(gè)框架?中的Koala Framework Demo一節(jié)。

現(xiàn)狀發(fā)布流程圖

image

紅色為最耗時(shí)部分,黃色為插件化后可以省去的部分。

插件化后的發(fā)布流程圖

image

從圖中可以看出,插件化之后與其測(cè)試、客戶(hù)端交互的是插件服務(wù)器(實(shí)質(zhì)為DLL文件),而不需再去依賴(lài)代碼,也就是說(shuō)只有在開(kāi)發(fā)階段才會(huì)依賴(lài)代碼,依賴(lài)編譯工具,其他階段用來(lái)交互的只是DLL文件,測(cè)試無(wú)需再去關(guān)心,編譯環(huán)境,編譯配置,他們所需要做的只是更新來(lái)自開(kāi)發(fā)人員的插件,用來(lái)進(jìn)行功能測(cè)試,有問(wèn)題通知開(kāi)發(fā)人員這一過(guò)程,個(gè)人認(rèn)為大大的降低了交流的次數(shù)。

提議未果

插件化后的項(xiàng)目結(jié)截圖:

QQ截圖20130819164528

在這一次交流過(guò)程中發(fā)現(xiàn)自己已不想再去爭(zhēng)論插件化與平常開(kāi)發(fā)的一些優(yōu)劣了,或許是對(duì)現(xiàn)在的“系統(tǒng)架構(gòu)師”不再抱有什么可以溝通的期望,也不想再與他爭(zhēng)論些什么了吧,這一次現(xiàn)在的“系統(tǒng)架構(gòu)師”還是覺(jué)得插件化沒(méi)有必要,當(dāng)實(shí)現(xiàn)有變更的時(shí)候把變更的實(shí)現(xiàn)類(lèi)Copy - Paste - 編譯一下發(fā)布就好了。想 起以往討論的種種實(shí)在覺(jué)得悲催,一個(gè)要跟他去解釋在系統(tǒng)構(gòu)建中實(shí)體優(yōu)于DataSet、DataTable,同類(lèi)型不同實(shí)例的對(duì)象的 GetHashCode()方法返回的值是不一致、服務(wù)端到客戶(hù)端經(jīng)過(guò)WCF之后實(shí)例是不一致的(省略N件事情)“系統(tǒng)架構(gòu)師”實(shí)在是沒(méi)有在溝通下去的必 要。 

心里的那桿秤

是否所有的項(xiàng)目都合適去插件化?

這邊不繞彎子,給出個(gè)人的一些想法:如果一個(gè)項(xiàng)目需要長(zhǎng)期的維護(hù)那么這個(gè)項(xiàng)目就應(yīng)該被插件化。

上面主要講述了一些插件化的優(yōu)勢(shì),物極必反,任何東西都有好的一面和壞的一面,插件化也不是完美的他也有不好的那一面,如果項(xiàng)目比較小,可能做完以后就不再需要維護(hù)那么就完全不需要插件化。

支持插件化不代表全部插件化

舉個(gè)例子(可能不太恰當(dāng)?shù)熨Y聰慧的你們肯定可以理解,哈哈)

支持插件化:Windows操作系統(tǒng),你可以選擇是否去安裝軟件,它本身支持軟件(插件)安裝。

全部插件化:系統(tǒng)自帶的計(jì)算器算是Windows操作系統(tǒng)里面的一個(gè)軟件(插件),但里面的+、-、*、/等算法不一定是插件化方式實(shí)現(xiàn)的。

提到的那些文檔

文件:插件式開(kāi)發(fā)模式討論會(huì)、發(fā)布流程圖

https://skydrive.live.com/redir?resid=4536D446A0E85208!2338&authkey=!AL-Eafwz09-bZMs

http://sdrv.ms/18EZrP2

PS.這兩個(gè)鏈接鏈向的是同一個(gè)地址,第二個(gè)為簡(jiǎn)短的Url,在實(shí)際使用過(guò)程中可能會(huì)被墻。

原文鏈接:http://www.cnblogs.com/ants/p/3268191.html

責(zé)任編輯:林師授 來(lái)源: 博客園
相關(guān)推薦

2014-11-03 11:02:27

軟件工程程序員

2011-05-19 16:47:50

軟件測(cè)試

2012-05-01 08:06:49

手機(jī)

2024-02-04 17:03:30

2017-05-15 21:50:54

Linux引號(hào)

2021-10-19 21:39:51

Unsafe構(gòu)造器內(nèi)存

2015-05-28 14:02:09

JavaJava日志性

2011-12-02 10:32:23

Java

2011-08-22 16:42:43

SqliteiPad

2014-06-06 16:08:17

初志科技

2020-09-23 09:07:16

特權(quán)賬號(hào)管理PAM網(wǎng)絡(luò)安全

2011-07-04 15:30:24

Qt 布局 GridLayout

2015-09-14 09:16:17

iOS統(tǒng)計(jì)打點(diǎn)

2011-06-30 14:34:17

QT Tablewidge QTableWidg

2009-07-29 10:36:04

北電收購(gòu)

2011-09-19 15:40:35

2012-01-02 19:30:22

iPad

2020-07-29 08:14:59

云計(jì)算云遷移IT

2010-07-26 11:02:19

Perl模式匹配

2014-04-28 09:18:17

創(chuàng)業(yè)移動(dòng)互聯(lián)網(wǎng)Linux入門(mén)教程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)