1. 程式人生 > >一個軟體系統的架構到底應該包含些什麼?

一個軟體系統的架構到底應該包含些什麼?

從事企業資訊化系統開發已經3年,回顧這3年的歷程,深刻體會到的一點是:軟體的架構設計,不是越全面越好,而是越簡單越好。簡單到對開發者透明最好。

那麼,一個架構設計,到底需要提供什麼呢?個人認為,只需要提供三種機制:

一、客戶端和伺服器的通訊機制,缺少通訊機制的支撐,只好做個單機版;

二、包含功能許可權和資料許可權的全面許可權機制,這裡其實並不包括許可權管理功能,我認為許可權管理功能是一項業務。而機制,則如同自然規則一樣,雖然看不見摸不著,但卻無處不在。

三、業務模組的動態載入機制,如果不能動態載入業務模組,則開發新模組和釋出新功能都會很麻煩。

如果你的系統是C/S模式,那麼還需要客戶端的自動升級機制。

除此以外,做得越多,約束越多。開發到後面,就會發現系統不重構不行,而重構也是困難重重。用“積重難返”來形容,實在是沒法再貼切了。而一個輕便的,甚至是透明的架構設計,則可以做到和業務完全無關。無論今後需要開發什麼樣的功能,都不需要變更架構的設計。在技術升級換代後,升級架構也非常容易。