Tiny框架2.0版火热推出
方法論
方法論決定了可以達(dá)到的高度
方法論,就是人們認(rèn)識(shí)世界、改造世界的根本方法。
它是人們用什么樣的方式、方法來(lái)觀察事物和處理問(wèn)題。概括地說(shuō),世界觀主要解決世界“是什么”的問(wèn)題,方法論主要解決“怎么辦”的問(wèn)題。?
方法論是一種以解決問(wèn)題為目標(biāo)的體系或系統(tǒng),通常涉及對(duì)問(wèn)題階段、任務(wù)、工具、方法技巧的論述。方法論會(huì)對(duì)一系列具體的方法進(jìn)行分析研究、系統(tǒng)總結(jié)并最終提出較為一般性的原則。?
方法論也是一個(gè)哲學(xué)概念。人們關(guān)于“世界是什么、怎么樣”的根本觀點(diǎn)是世界觀。用這種觀點(diǎn)作指導(dǎo)去認(rèn)識(shí)世界和改造世界,就成了方法論。 方法論是普遍適用于各門(mén)具體社會(huì)科學(xué)并起指導(dǎo)作用的范疇、原則、理論、方法和手段的總和。?
Tiny框架有著完整的方法論基礎(chǔ),在方法論的基礎(chǔ)上構(gòu)建了完整的框架構(gòu)建、擴(kuò)展、利用體系。
設(shè)計(jì)理念
設(shè)計(jì)理念決定了設(shè)計(jì)的目標(biāo)
使用靈活:可以整個(gè)使用它,也可以只用它的一個(gè)或幾個(gè)部分。Tiny構(gòu)建者認(rèn)為,一個(gè)完整的框架可能需要有許許多多個(gè)部分組成,但是對(duì)于實(shí)際應(yīng)用的用戶(hù)來(lái)說(shuō),它可能只需要其中的一部分功能。構(gòu)架一定要有這種能力,可以由使用者進(jìn)行點(diǎn)菜式,使用,避免只要用一點(diǎn)點(diǎn)功能,就要引入許許多多的內(nèi)容。?
學(xué)習(xí)成本低、上手容易:框架的學(xué)習(xí)成本必須非常低,這樣才可以讓使用者更容易上手,避免由于學(xué)習(xí)難度大而導(dǎo)致的學(xué)習(xí)曲線(xiàn)太陡、太長(zhǎng)。?
保持核心的穩(wěn)定性:Tiny框架是立足于在需要穩(wěn)定、安全要求非常高的應(yīng)用環(huán)境中使用的,因此其穩(wěn)定性就是框架構(gòu)建者首要思考目標(biāo),核心部分只使用經(jīng)過(guò)充驗(yàn)證及廣泛應(yīng)用的第三方包。?
資產(chǎn)的可積累性:只有易于知識(shí)積累,才可以真正做到越用越強(qiáng)。
設(shè)計(jì)原則
設(shè)計(jì)原則解決目標(biāo)沖突時(shí)的解決策略
約定優(yōu)于配置原則-COC?
不要重復(fù)你自己原則-DRY?
減法原則 :減法原則是我們自己提出的,意思就是給程序員做減法。
模塊化原則 :模塊化對(duì)于軟件開(kāi)發(fā)過(guò)程中開(kāi)發(fā)、高度、集成、發(fā)布、維護(hù)過(guò)程中所起的作用及節(jié)省或花費(fèi)的巨大成本。因此提出了Business Unit的概念,使得與模塊相關(guān)的所有內(nèi)容都可以放在一起。
自動(dòng)組裝原則 :在整個(gè)Tiny框架的構(gòu)建過(guò)程中,都非常注重集成過(guò)程的自動(dòng)組裝,要求做到扔進(jìn)去不用管,由框架自動(dòng)集成。
下級(jí)服從上級(jí)原則 :Tiny框架則從框架層級(jí)做了限制,使得下級(jí)必須服務(wù)上級(jí)。
單一原則 :通過(guò)單一原則進(jìn)行強(qiáng)制性的約束,使得一個(gè)模塊只解決單一模塊應(yīng)該解決的問(wèn)題,從而避免不同的問(wèn)題放在一起解決所導(dǎo)致的胡子眉毛縷不清的問(wèn)題,同時(shí)也避免了不恰當(dāng)?shù)囊蕾?lài)及模板引用。
集中配置原則 :在Tiny框架我們對(duì)配置做了大量的工作,一個(gè)是COC方式,如果不配,則采用系統(tǒng)默認(rèn)的值;一個(gè)是集中原則:把需要人工需要配置的內(nèi)容都集中起來(lái)統(tǒng)一配置;一個(gè)是對(duì)于不需要人工干預(yù)的配置,那就集成在Jar包中,作為發(fā)布者發(fā)布項(xiàng)的一部分。
生態(tài)圈
生態(tài)圈決定了是否可以持續(xù)性發(fā)展
只有形成完整的開(kāi)源生態(tài)圈,開(kāi)源才能生存、發(fā)展。?
只有輸出沒(méi)有輸入的模式不可能得到持續(xù)發(fā)展。?
Tiny開(kāi)源生態(tài)圈,包含了Tiny框架、Tiny開(kāi)源組件、Tiny商業(yè)組件、Tiny技術(shù)支持、Tiny咨詢(xún)、Tiny培訓(xùn)等,具有較強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力和可持續(xù)發(fā)展的體系,展現(xiàn)了一種新的軟件產(chǎn)業(yè)發(fā)展模式。?
不管您處在生態(tài)圈的哪個(gè)位置,您都會(huì)有所付出有所收獲,這正是生態(tài)圈的意義及可持續(xù)發(fā)展的動(dòng)力所在。
模塊化
模塊化能力決定了業(yè)務(wù)模塊治理的優(yōu)劣
Tiny框架在模塊化方面進(jìn)行了深入的研究和實(shí)踐。?
Tiny業(yè)務(wù)開(kāi)發(fā)過(guò)程中的任何內(nèi)容都可以放入Jar包當(dāng)中去,包含Java類(lèi),靜態(tài)資源,JSP等等,所以一個(gè)業(yè)務(wù)模塊是不是被工程引用,只要引入對(duì)應(yīng)的Jar包,就可以引入此業(yè)務(wù)模塊;只要把某個(gè)業(yè)務(wù)模塊的Jar包移除就可以徹底移除此業(yè)務(wù)模塊。?
Tiny框架的業(yè)務(wù)單元具有非常好的獨(dú)立性、替換性和通用性。
熱部署
熱部署可有效幫助提升系統(tǒng)的可用性
所謂熱部署,就是在應(yīng)用正在運(yùn)行的時(shí)候軟件升級(jí),卻不需要重新啟動(dòng)應(yīng)用。?
常見(jiàn)的熱部署方案有OSGI等框架,但是這些方案具有侵入性大,開(kāi)發(fā)調(diào)試?yán)щy,使用方式固定等弊端。?
Tiny框架的Bundle與普通的Jar工程沒(méi)有本質(zhì)區(qū)別,僅多了一個(gè)配置文件。所以,它即可以作為普通的Jar包使用也可以作為熱部署的Bundle來(lái)進(jìn)行使用。
流程引擎
流程引擎提供了非編程性開(kāi)發(fā)的能力
所謂流程引擎,就是對(duì)通過(guò)流程化的方式來(lái)進(jìn)行業(yè)務(wù)、頁(yè)面、工作流程的編排支持的開(kāi)發(fā)框架。
Tiny框架提供了業(yè)務(wù)流、頁(yè)面流、工作流(正在實(shí)現(xiàn)中)等三種流程編排引擎,可以方便的進(jìn)行業(yè)務(wù)流、頁(yè)面流、工作流領(lǐng)域的開(kāi)發(fā)。
強(qiáng)大的可視化流程設(shè)計(jì)工具,可以便捷的進(jìn)行流程設(shè)計(jì)。
WEB展現(xiàn)
WEB展現(xiàn)是互聯(lián)網(wǎng)應(yīng)用中重中之重
Web應(yīng)用開(kāi)發(fā)是J2EE領(lǐng)域的重要問(wèn)題領(lǐng)域
Tiny框架提供了強(qiáng)大的WEB層的擴(kuò)展和UI組件支持,對(duì)于WEB靜態(tài)資源放入Jar包,CSS合并壓縮、JS合并壓縮等方面都有良好支持。對(duì)于不同角色的開(kāi)發(fā)者之也可以進(jìn)行良好角色劃分,使得開(kāi)發(fā)過(guò)程更加高效有序。
領(lǐng)先的模板引擎提供的一些獨(dú)特特性使得可以更便捷的進(jìn)行展現(xiàn)層開(kāi)發(fā)。
組件庫(kù)
面向組件的開(kāi)發(fā)是效率與質(zhì)量的保證
組件化編程的關(guān)鍵目的是為了將程序模塊化,使各個(gè)模塊之間可以單獨(dú)開(kāi)發(fā),單獨(dú)測(cè)試。組件的提取、管理與利用是面向組件開(kāi)發(fā)的關(guān)鍵。?
Tiny框架中,組件無(wú)處不在,有些組件框架中已經(jīng)默認(rèn)嵌入,有些組件就需要自己手工納入。當(dāng)然,一些愿分享組件的同學(xué)也可以發(fā)布自己的組件讓別人使用。
組件化有助于推動(dòng)企業(yè)資產(chǎn)的積累與高水平開(kāi)發(fā)人員工作成果的復(fù)用,這個(gè)在現(xiàn)在這個(gè)講究協(xié)作的競(jìng)爭(zhēng)體系中尤為重要。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | ├── org.tinygroup.jquery必須使用的jquery包 ├── org.tinygroup.publicComponentTinyUi特有資源(基礎(chǔ)-必須依賴(lài)基于bootstrap) ├── /webapp/compatibility(特殊)compatibility針對(duì)各瀏覽器兼容性特有資源 ├── org.tinygroup.bootstrap使用bootstrap最新v3.3.4 ├── org.tinygroup.gridSystems柵格系統(tǒng)(布局) ├── org.tinygroup.compose排版(一般都能用到) ├── org.tinygroup.code代碼 ├── org.tinygroup.table表格 ├── org.tinygroup.form表單 ├── org.tinygroup.button按鈕 ├── org.tinygroup.picture圖片 ├── org.tinygroup.icon圖標(biāo) ├── org.tinygroup.animation動(dòng)畫(huà) ├── org.tinygroup.buttonGroup按鈕組 ├── org.tinygroup.navigation導(dǎo)航 ├── org.tinygroup.dropDown下拉菜單 ├── org.tinygroup.unslider幻燈片 ├── org.tinygroup.tab選項(xiàng)卡 ├── org.tinygroup.labelBadge便簽與標(biāo)號(hào) ├── org.tinygroup.thumbnails縮略圖 ├── org.tinygroup.alert警告 ├── org.tinygroup.progress進(jìn)度條 ├── org.tinygroup.modal彈出框 ├── org.tinygroup.customerService客服 ├── org.tinygroup.toTop返回頂部 ├── org.tinygroup.example案例 ├── org.tinygroup.rolling滾動(dòng) ├── org.tinygroup.search搜索 ├── org.tinygroup.ad廣告 ├── org.tinygroup.tags標(biāo)簽 ├── org.tinygroup.fold折疊 ├── org.tinygroup.maskBar遮罩 ├── org.tinygroup.comment評(píng)論列表 ├── org.tinygroup.syntaxhighlighter代碼高亮 ├── org.tinygroup.dataTablesDataTables數(shù)據(jù)表格 ├── org.tinygroup.mmGridmmGrid數(shù)據(jù)表格 ├── org.tinygroup.superBoxsuperBox圖片列表 ├── org.tinygroup.zoomPiczoomPic圖片列表 ├── org.tinygroup.Smart-navigation導(dǎo)航集合 ├── org.tinygroup.Smart-treeview樹(shù)形菜單 ├── org.tinygroup.highChartshighCharts圖表 ├── org.tinygroup.voteCharts投票圖表 ├── org.tinygroup.pieCharts餅狀圖比例分布圖 ├── org.tinygroup.bootstrapDate日期控件 ├── org.tinygroup.uedTipsUED提示 ├── org.tinygroup.loginRegistered登錄注冊(cè) ├── org.tinygroup.trumbowygTrumbowyg編輯器 ├── org.tinygroup.UEditorUEditor編輯器 ├── org.tinygroup.fullCalendarfullCalendar日程表 ├── org.tinygroup.emailTemplate郵件模版 ├── org.tinygroup.error404錯(cuò)誤404 ├── org.tinygroup.error500錯(cuò)誤500 ├── org.tinygroup.searchPage搜索頁(yè) ├── org.tinygroup.interfaceElements界面元素 ├── org.tinygroup.forum論壇頁(yè) ├── org.tinygroup.timeline時(shí)間軸 ├── org.tinygroup.iconTab圖標(biāo)控制選項(xiàng)卡 ├── org.tinygroup.userComment用戶(hù)評(píng)論 ├── org.tinygroup.tabShowTabs展示 ├── org.tinygroup.viewsControl視圖控制 |
開(kāi)發(fā)工具
開(kāi)發(fā)工具是軟件工程方法的延伸
不用Tiny開(kāi)發(fā)工具你可以完成所有基于Tiny框架的開(kāi)發(fā)工作。
用了Tiny開(kāi)發(fā)工具你可以更快的完成基于Tiny框架的開(kāi)發(fā)工作,效率提升5倍不是想象。
這,就是開(kāi)發(fā)工具的意義。
模板語(yǔ)言編輯器
流程編輯器
可視化界面編輯器
還有許多不再一一貼圖。總結(jié)
如果說(shuō)Tiny1.0還只是一個(gè)開(kāi)發(fā)框架的話(huà),那么2.0不管是從思想體系還是從框架體系都更加完整、完善,對(duì)于工程化的解決軟件開(kāi)發(fā)過(guò)程中的各種問(wèn)題進(jìn)行了充分的有益的探索。
也歡迎所有感興趣的同學(xué)們以各種方式一起參與。
總結(jié)
以上是生活随笔為你收集整理的Tiny框架2.0版火热推出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到鱼和鸟是什么意思
- 下一篇: iOS开发之单例模式