成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

以表單為中心的Ruby on Rails面向表單編程

開發(fā) 架構(gòu)
以數(shù)據(jù)庫為中心的開發(fā)模式在企業(yè)中很常見,本文通過一次開發(fā)案例介紹以表單為中心的開發(fā)模式:面向表單編程。

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

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

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

當(dāng)然,今天我在本文想要介紹的經(jīng)驗,不是以數(shù)據(jù)庫為中心的開發(fā)模式,而是我認(rèn)為的更高級的以表單為中心的開發(fā)模式。當(dāng)然這也是我的實際工作經(jīng)驗。看看以下這個例子:

以表單為中心的開發(fā)模式 

我們在做一個管理型項目的時候,用戶給了我們上面這個Excel文件,讓我們實現(xiàn)這個業(yè)務(wù),這個時候需求已經(jīng)很明確了,公司可以進(jìn)行開發(fā)了。

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

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

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

新的表單 

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

下面是表單建模工具設(shè)計時的界面:

表單建模工具設(shè)計 

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

【編輯推薦】

  1. Ruby創(chuàng)始人談Ruby的blocks和closure結(jié)構(gòu)
  2. 牛人點評Ruby語言十大令人喜愛的特點
  3. Python和Ruby:流行動態(tài)腳本語言之特點對比
  4. Ruby和Python的語法比較
  5. Ruby使用心得匯總:尋找高效的實現(xiàn)
責(zé)任編輯:yangsai 來源: JavaEye博客
相關(guān)推薦

2009-12-17 13:46:01

Ruby表單語句

2009-08-27 10:21:22

Ruby on Rai

2016-01-04 11:04:17

Web開發(fā)Ruby

2012-07-30 09:48:32

設(shè)計管理

2009-08-06 09:13:36

Ruby on Rai

2017-10-09 08:45:13

編程語言Amazon AtheSharePoint

2010-09-25 14:39:29

Bruce Tate

2009-09-29 17:04:29

2009-12-14 15:30:43

安裝Ruby on R

2015-10-14 17:27:18

性能

2009-12-17 14:29:50

Ruby on Rai

2015-10-10 11:00:05

RubyRails性能

2009-12-16 16:37:59

Ruby on Rai

2009-06-17 10:08:32

Ruby on Rai安裝Ruby

2009-07-20 09:12:54

Ruby on Rai

2022-01-14 10:43:50

Mendix

2018-12-14 09:39:07

軟件開發(fā)用戶迭代

2013-08-16 10:14:32

APIWeb應(yīng)用以API為中心的Web

2017-04-11 20:10:56

2021-03-24 14:13:51

數(shù)據(jù)分析架構(gòu)大數(shù)據(jù)
點贊
收藏

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

主站蜘蛛池模板: 亚洲欧美综合网 | 日韩欧美亚洲 | 在线观看国产视频 | 狠狠操电影 | 日韩一区中文字幕 | 小h片免费观看久久久久 | aaaaaaa片毛片免费观看 | 水蜜桃久久夜色精品一区 | 国产成人久久久 | 黄瓜av | 羞羞网站在线观看 | 美女视频h | 成人国内精品久久久久一区 | 国产精品久久av | 亚洲一区二区三区四区五区午夜 | 精品亚洲一区二区三区四区五区 | 一区二区三区视频在线 | 色婷婷激情综合 | 国产成人精品区一区二区不卡 | 久久精品av麻豆的观看方式 | 超碰免费观看 | 伊大人久久 | a毛片 | 91精品国产综合久久久久久丝袜 | 中文字幕在线不卡播放 | 国产精品欧美一区二区 | 91偷拍精品一区二区三区 | av黄色免费在线观看 | 成人免费视频观看 | 国产精品99一区二区 | 成人在线电影在线观看 | 国产成人福利在线观看 | 久久综合香蕉 | 国产91一区二区三区 | 在线中文字幕av | 一区欧美 | 99精品99 | 久久免费看 | 国产一区二区三区免费视频 | 在线观看www高清视频 | 午夜激情免费视频 |