方法论

方法论决定了可以达到的高度
方法论,就是人们认识世界、改造世界的根本方法。

它是人们用什么样的方式、方法来观察事物和处理问题。概括地说,世界观主要解决世界“是什么”的问题,方法论主要解决“怎么办”的问题。

方法论是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、系统总结并最终提出较为一般性的原则。

方法论也是一个哲学概念。人们关于“世界是什么、怎么样”的根本观点是世界观。用这种观点作指导去认识世界和改造世界,就成了方法论。 方法论是普遍适用于各门具体社会科学并起指导作用的范畴、原则、理论、方法和手段的总和。

Tiny框架有着完整的方法论基础,在方法论的基础上构建了完整的框架构建、扩展、利用体系。

设计理念

设计理念决定了设计的目标
使用灵活:可以整个使用它,也可以只用它的一个或几个部分。Tiny构建者认为,一个完整的框架可能需要有许许多多个部分组成,但是对于实际应用的用户来说,它可能只需要其中的一部分功能。构架一定要有这种能力,可以由使用者进行点菜式,使用,避免只要用一点点功能,就要引入许许多多的内容。

学习成本低、上手容易:框架的学习成本必须非常低,这样才可以让使用者更容易上手,避免由于学习难度大而导致的学习曲线太陡、太长。

保持核心的稳定性:Tiny框架是立足于在需要稳定、安全要求非常高的应用环境中使用的,因此其稳定性就是框架构建者首要思考目标,核心部分只使用经过充验证及广泛应用的第三方包。

资产的可积累性:只有易于知识积累,才可以真正做到越用越强。

设计原则

设计原则解决目标冲突时的解决策略
约定优于配置原则-COC 
不要重复你自己原则-DRY 
减法原则 :减法原则是我们自己提出的,意思就是给程序员做减法。
模块化原则 :模块化对于软件开发过程中开发、高度、集成、发布、维护过程中所起的作用及节省或花费的巨大成本。因此提出了Business Unit的概念,使得与模块相关的所有内容都可以放在一起。
自动组装原则 :在整个Tiny框架的构建过程中,都非常注重集成过程的自动组装,要求做到扔进去不用管,由框架自动集成。
下级服从上级原则 :Tiny框架则从框架层级做了限制,使得下级必须服务上级。
单一原则 :通过单一原则进行强制性的约束,使得一个模块只解决单一模块应该解决的问题,从而避免不同的问题放在一起解决所导致的胡子眉毛缕不清的问题,同时也避免了不恰当的依赖及模板引用。
集中配置原则 :在Tiny框架我们对配置做了大量的工作,一个是COC方式,如果不配,则采用系统默认的值;一个是集中原则:把需要人工需要配置的内容都集中起来统一配置;一个是对于不需要人工干预的配置,那就集成在Jar包中,作为发布者发布项的一部分。

生态圈

生态圈决定了是否可以持续性发展
只有形成完整的开源生态圈,开源才能生存、发展。

只有输出没有输入的模式不可能得到持续发展。

Tiny开源生态圈,包含了Tiny框架、Tiny开源组件、Tiny商业组件、Tiny技术支持、Tiny咨询、Tiny培训等,具有较强市场竞争力和可持续发展的体系,展现了一种新的软件产业发展模式。

不管您处在生态圈的哪个位置,您都会有所付出有所收获,这正是生态圈的意义及可持续发展的动力所在。

模块化

模块化能力决定了业务模块治理的优劣
Tiny框架在模块化方面进行了深入的研究和实践。

Tiny业务开发过程中的任何内容都可以放入Jar包当中去,包含Java类,静态资源,JSP等等,所以一个业务模块是不是被工程引用,只要引入对应的Jar包,就可以引入此业务模块;只要把某个业务模块的Jar包移除就可以彻底移除此业务模块。

Tiny框架的业务单元具有非常好的独立性、替换性和通用性。

热部署

热部署可有效帮助提升系统的可用性
所谓热部署,就是在应用正在运行的时候软件升级,却不需要重新启动应用。

常见的热部署方案有OSGI等框架,但是这些方案具有侵入性大,开发调试困难,使用方式固定等弊端。

Tiny框架的Bundle与普通的Jar工程没有本质区别,仅多了一个配置文件。所以,它即可以作为普通的Jar包使用也可以作为热部署的Bundle来进行使用。

流程引擎

流程引擎提供了非编程性开发的能力
所谓流程引擎,就是对通过流程化的方式来进行业务、页面、工作流程的编排支持的开发框架。

Tiny框架提供了业务流、页面流、工作流(正在实现中)等三种流程编排引擎,可以方便的进行业务流、页面流、工作流领域的开发。

强大的可视化流程设计工具,可以便捷的进行流程设计。

WEB展现

WEB展现是互联网应用中重中之重
Web应用开发是J2EE领域的重要问题领域

Tiny框架提供了强大的WEB层的扩展和UI组件支持,对于WEB静态资源放入Jar包,CSS合并压缩、JS合并压缩等方面都有良好支持。对于不同角色的开发者之也可以进行良好角色划分,使得开发过程更加高效有序。

领先的模板引擎提供的一些独特特性使得可以更便捷的进行展现层开发。

组件库

面向组件的开发是效率与质量的保证
组件化编程的关键目的是为了将程序模块化,使各个模块之间可以单独开发,单独测试。组件的提取、管理与利用是面向组件开发的关键。

Tiny框架中,组件无处不在,有些组件框架中已经默认嵌入,有些组件就需要自己手工纳入。当然,一些愿分享组件的同学也可以发布自己的组件让别人使用。

组件化有助于推动企业资产的积累与高水平开发人员工作成果的复用,这个在现在这个讲究协作的竞争体系中尤为重要。

?
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特有资源(基础-必须依赖基于bootstrap)
├── /webapp/compatibility(特殊)compatibility针对各浏览器兼容性特有资源
├── org.tinygroup.bootstrap使用bootstrap最新v3.3.4
├── org.tinygroup.gridSystems栅格系统(布局)
├── org.tinygroup.compose排版(一般都能用到)
├── org.tinygroup.code代码
├── org.tinygroup.table表格
├── org.tinygroup.form表单
├── org.tinygroup.button按钮
├── org.tinygroup.picture图片
├── org.tinygroup.icon图标
├── org.tinygroup.animation动画
├── org.tinygroup.buttonGroup按钮组
├── org.tinygroup.navigation导航
├── org.tinygroup.dropDown下拉菜单
├── org.tinygroup.unslider幻灯片
├── org.tinygroup.tab选项卡
├── org.tinygroup.labelBadge便签与标号
├── org.tinygroup.thumbnails缩略图
├── org.tinygroup.alert警告
├── org.tinygroup.progress进度条
├── org.tinygroup.modal弹出框
├── org.tinygroup.customerService客服
├── org.tinygroup.toTop返回顶部
├── org.tinygroup.example案例
├── org.tinygroup.rolling滚动
├── org.tinygroup.search搜索
├── org.tinygroup.ad广告
├── org.tinygroup.tags标签
├── org.tinygroup.fold折叠
├── org.tinygroup.maskBar遮罩
├── org.tinygroup.comment评论列表
├── org.tinygroup.syntaxhighlighter代码高亮
├── org.tinygroup.dataTablesDataTables数据表格
├── org.tinygroup.mmGridmmGrid数据表格
├── org.tinygroup.superBoxsuperBox图片列表
├── org.tinygroup.zoomPiczoomPic图片列表
├── org.tinygroup.Smart-navigation导航集合
├── org.tinygroup.Smart-treeview树形菜单
├── org.tinygroup.highChartshighCharts图表
├── org.tinygroup.voteCharts投票图表
├── org.tinygroup.pieCharts饼状图比例分布图
├── org.tinygroup.bootstrapDate日期控件
├── org.tinygroup.uedTipsUED提示
├── org.tinygroup.loginRegistered登录注册
├── org.tinygroup.trumbowygTrumbowyg编辑器
├── org.tinygroup.UEditorUEditor编辑器
├── org.tinygroup.fullCalendarfullCalendar日程表
├── org.tinygroup.emailTemplate邮件模版
├── org.tinygroup.error404错误404
├── org.tinygroup.error500错误500
├── org.tinygroup.searchPage搜索页
├── org.tinygroup.interfaceElements界面元素
├── org.tinygroup.forum论坛页
├── org.tinygroup.timeline时间轴
├── org.tinygroup.iconTab图标控制选项卡
├── org.tinygroup.userComment用户评论
├── org.tinygroup.tabShowTabs展示
├── org.tinygroup.viewsControl视图控制

开发工具

开发工具是软件工程方法的延伸
不用Tiny开发工具你可以完成所有基于Tiny框架的开发工作。

用了Tiny开发工具你可以更快的完成基于Tiny框架的开发工作,效率提升5倍不是想象。

这,就是开发工具的意义。

模板语言编辑器

流程编辑器

可视化界面编辑器

还有许多不再一一贴图。

总结

如果说Tiny1.0还只是一个开发框架的话,那么2.0不管是从思想体系还是从框架体系都更加完整、完善,对于工程化的解决软件开发过程中的各种问题进行了充分的有益的探索。

也欢迎所有感兴趣的同学们以各种方式一起参与。

Tiny框架2.0版火热推出相关推荐

  1. ABP框架v2.0 和 ABP商业版

    ABP框架2.0版已经在本周公布.这篇文章解释了为什么我们发布了一个抢先主版本,和2.0版本中的变化. 除了v2.0版本,我们很高兴地宣布ABP商业版,这是建立在开源ABP框架的之上的一套专业的模块, ...

  2. Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版

    近日,甲骨文宣布推出Oracle NoSQL数据库2.0版(Oracle NoSQL Database 2.0),持续推动其在数据管理技术领域的创新.这是一款具有高可扩展性.低延迟.面向实时大数据工作 ...

  3. Tornado推出2.0版

    [搜狐IT消息]北京时间6月22日消息,据国外媒体报道,本达奈尔(Ben Darnell)刚刚在谷歌的Tornado群组宣布,开源网络服务框架Tornado推出2.0版. Tornado是用Pyhto ...

  4. 飞桨框架2.0正式版重磅发布,一次端到端的“基础设施”革新

    在人工智能时代,深度学习框架下接芯片,上承各种应用,是"智能时代的操作系统".近期,我国首个自主研发.功能完备.开源开放的产业级深度学习框架飞桨发布了2.0正式版,实现了一次跨时代 ...

  5. aa bb ccc java,TinyTemplate(Velocity Plus版)即将火热推出~~~

    原本是没有本身写一个模板引擎的计划的,由于按个人理解,一直认识这种"语言"级的引擎,难度是很是大的.总感受本身的水平不够,所以不敢有这个念头.直到大量使用Velocty的时候,碰到 ...

  6. Foxmail邮件客户端推出7.0版,全面支持Exchange帐号

    中国邮箱网消息 近日,腾讯旗下Foxmail邮件客户端推出最新7.0.1.76版,并面向所有用户低调公测. 目前来讲,Foxmail7.0版还不支持从6.5版直接检查更新升级,需要用户自行到官网进行下 ...

  7. “一盘货卖全球”之后,天猫今年将推出国货“出海2.0版”

    "曾经,我觉得中国品牌要出海,是一件很难的事,直到我们参与了'天猫出海'."这是国货母婴品牌"全棉时代"创始人李健全的感慨. 5月8日,250多家中国品牌齐聚杭 ...

  8. 飞书正式发布5.0版 推出飞书人事、合同、审批等多款新产品

    11月17日消息,飞书今日正式发布全新5.0版,该版本包含了品牌logo.视觉体验的全面升级,以及飞书人事.飞书合同.飞书审批等新产品. 根据公开报道,今年以来,飞书客户数大幅增长.范围从初期集中的互 ...

  9. 乐视android版本怎么升级,乐视网android手机客户端升级推出V2.0版

    乐视网 android手机客户端V2.0版--"乐视影视"正式发布,据乐视网运营副总裁高飞介绍,"V2.0版是早期发布的乐视网android手机客户端V1.5版的升级版本 ...

最新文章

  1. 获取pheatmap聚类后和标准化后的结果
  2. 阎崇年:《袁崇焕传》自序
  3. 圈钱的道路上廖翔从不缺席
  4. linux kernel中的wait_for_completion和complete总结
  5. MyBatis-动态SQL
  6. MySQL的环境变量配置详细步骤
  7. JDBC连接SQL Server 2005问题
  8. iOS最为简单时间轴(GZTimeLine)
  9. (三)使用预定义模型QDirModel的例子
  10. solaris perl print不输出_IC设计中的perl编程
  11. python 2 版本中的input() 和 raw_input() 函数的比较
  12. 同步升压与异步升压_单相220V转三相380V升压变频器
  13. Python2.7利用xpath爬取韩寒博客(多线程版)
  14. oracle中双引号代表什么意思,Oracle中的双引号与单引号
  15. 怎样在计算机上设置纸大小,打印机怎么设置纸张大小 打印机设置打印纸张大小的步骤教程...
  16. pacemaker+corosync+pcs实验
  17. 华为云计算机系统是什么,你了解什么是华为云电脑吗,它有什么用
  18. Waukesha点火模块维修点火器维修740822A
  19. css样式—高度塌陷
  20. Matlab R2019a Win64位(中文)迅雷磁力链

热门文章

  1. c 调用openoffice word转pdf_批量 Word 转 PDF 方法
  2. POJ 1741tree-点分治入门
  3. 1144 The Missing Number (20 分)
  4. libevent学习笔记 一、基础知识
  5. vs2013编译win-32位下的libevent-2.0.21-stable,debug版本
  6. StringBuilder详解
  7. Android 适配(一)
  8. 0710 mux协议的作用(ppp拨号时如何和gprs进行at指令交互)
  9. Robot Framework自动化测试(一)--- 安装
  10. hdu区域赛在线热身赛 暨 第十二场组队赛