中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現以表單為中心的Ruby on Rails面向表單編程

發布時間:2021-12-27 13:42:13 來源:億速云 閱讀:110 作者:小新 欄目:開發技術

這篇文章主要介紹如何實現以表單為中心的Ruby on Rails面向表單編程,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

企業開發的很多特點,決定了其經常以數據庫為中心的開發模式。不過本文要講的是以表單為中心的開發模式,帶來了不少啟發。文章所述使用的是Ruby on Rails面向表單編程,不過基本理念應該是通用的。

在國內做過企業開發的人都知道,國內的企業開發往往是業務多、時間短,這是普遍現象,所以軟件開發公司也都在追求快速進行企業開發的方法。很多的開發公司做企業項目的時候,都是由需求人員與客戶交流,了解完需求后建立數據庫表(PowerDesigner是這個領域的王者,相信很多人都用過),然后將需求文檔和數據庫交給開發人員(當然有的需求人員不建表,開發人員建表也常見),開發人員逐步實現需求。日后需求改變了,先修改數據庫,然后修改程序上層界面。

這種開發模式以數據庫為中心,上層所有開發圍繞數據庫進行,數據庫是連接需求端與開發端的橋梁。相信國內不少公司都是采用的這種開發模式,也許正在閱讀本文的讀者所在公司也是吧?

當然,今天我在本文想要介紹的經驗,不是以數據庫為中心的開發模式,而是我認為的更高級的以表單為中心的開發模式。當然這也是我的實際工作經驗。看看以下這個例子:

如何實現以表單為中心的Ruby on Rails面向表單編程

我們在做一個管理型項目的時候,用戶給了我們上面這個Excel文件,讓我們實現這個業務,這個時候需求已經很明確了,公司可以進行開發了。

假如是先前的以數據庫為中心的開發模式,軟件公司需求人員需要先建表,依照Excel文件,逐個添加字段。然后把Excel文件和數據庫表給了開發人員,開發人員需要照著Excel文件做出軟件輸入界面,然后將輸入域與數據庫表格的字段一一對應。把上面的事情做完,就算配合嫻熟的團隊,至少也得一天時間了。如果這時候用戶又提出,這個表單需要精確打印,隨時準備蓋章存檔,那開發方的工作又多了很多。

以表單為中心的開發模式,不對數據庫建模,而是對表單建模,采用專門的表單建模的工具,類似于Excel,將用戶的Excel文件復制成模型,導出為XML格式的文件,以后這些XML文件就是我們需要維護的核心了。市場上表單建模工具有一些比較成熟的,比如用友的Cell組件,還有其他公司的報表軟件。我們公司獨立開發了一套工具(不對外銷售),使用這套工具可以很好的進行面向表單的編程。 那么面向表單的編程如何解決上面用戶提出的需求呢?

用戶給我們一個Excel文件后,我們用建模工具做一個一摸一樣的表單(如果工具本身支持Excel復制則更快),將表單存為XML文件后發布到程序框架中,框架程序分析XML文件后自動建表并添加字段。程序框架封裝了表單的讀、寫、刪、打印等常規操作,上層需要寫代碼的地方只有列表顯示功能。用一個Sql語句查出需要顯示的表單記錄,挑出需要在列表中顯示的字段即可。采用這種模式,不消20分鐘,上面用戶提出的需求便迎刃而解。這是最終做完后的界面之一:

如何實現以表單為中心的Ruby on Rails面向表單編程

除了實現上面這個界面,還可以實現更高級的功能,例如客戶端驗證和運算,保證某個單元格必填,或者某個單元格的值必須大于某個值,或者某幾個單元格必須保證相加、乘積的關系。這些功能不必寫代碼了,使用表單設計器內置的功能即可。這種模式可以實現技術與業務分離。讓人專注于業務,忘記技術。事實上,如果在開發項目的過程中,還在考慮用戶的需求從技術上怎么實現,那無疑這個項目是很危險的。

下面是表單建模工具設計時的界面:

如何實現以表單為中心的Ruby on Rails面向表單編程

面向表單的編程,日后需求發生的變化,大多數集中在表單的格式及表單流程上(因為表單承載了用戶的日常業務),我們只需要調整表單,重新發布就行了,不涉及到修改代碼。流程改變了也是同樣,修改后重新發布工作流文件即可。我想大多數軟件公司做項目的時候都有自己現成的框架,事先實現諸如用戶、權限這些常規的功能。基于表單的開發模式,也需要軟件框架做不少事情,還需要獨立的表單設計器的配合,框架上的開發量比較大。但是當框架上的積累達到很穩定、很完善的時候。拿框架來做用戶的業務是很幸福的事。基于表單的開發模式+ROR的快速開發,再加上報表查詢引擎和工作流引擎的支持,開發企業應用將是火箭般的速度。在那個狀態做項目,將不再是跟在用戶的后頭聽指揮,而是做的比用戶說的快,能夠***用戶的思路,牽著用戶的鼻子走,到那個時候,開發進度很好掌握,客戶關系很好維護,要回項目款,自然也是不難的了。大家要更多的了解面向表單編程,可以參考用友U8和用友其他的財務軟件,里面全是表格,真是徹徹底底的面向表單編程,而且用友軟件其他的技術比較薄弱,界面很樸素,幾乎可以說是一招走遍天下。

以上是“如何實現以表單為中心的Ruby on Rails面向表單編程”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湘西| 托克托县| 苍溪县| 彭泽县| 北宁市| 鄂伦春自治旗| 东阿县| 额尔古纳市| 河池市| 襄樊市| 鄂托克旗| 灵武市| 台山市| 天气| 林甸县| 茂名市| 吴忠市| 麻阳| 阜平县| 辉南县| 调兵山市| 钟山县| 柳江县| 沐川县| 新邵县| 漳州市| 安溪县| 讷河市| 酒泉市| 镇巴县| 太康县| 林口县| 合水县| 邵阳市| 东光县| 特克斯县| 上林县| 德清县| 辛集市| 仙游县| 普定县|