永发信息网

什么叫组件化开发?

答案:2  悬赏:40  手机版
解决时间 2021-02-25 06:35
  • 提问者网友:我的未来我做主
  • 2021-02-24 09:26
什么叫组件化开发?
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-24 10:48
所谓“组件化”就是把企业的产品、销售、采购、生产、财务等业务功能转变为业务模块,即业务组件。也就是对企业的价值链进行解构和重组。

目前,各个行业都在向组件化发展,虽然速度有快有慢,但这是发展的大趋势。在这种趋势下,企业需要快速改造自己,形成组件化的企业架构,在未来的价值网络中占据核心的、最有价值的位置,掌握主动和先机。

构建组件化企业有助于推动企业商业模式的创新。当企业面临产品服务变革、运营流程变革和商业模式变革的任务或者说机会时,构建组件化企业可以使企业的创新和变革摆脱原有的“封闭”状态,使企业能够从整体价值链的高度分析企业内部情况,寻找与伙伴之间协同增长的可能。

组件化也是企业转型和创新的基础,更是加速增长的跳板。

(1)组件化是企业建立核心能力的关键

组件化让企业可以进行一次业务解构和重构的工作,把企业的产品、销售、采购、生产、财务等业务功能转化为业务模块,即业务组件,消除企业内部的冗余功能,明确重点战略组件,外包非关键组件。通过重点投资战略组件,并借助与外部企业的网络化协作来建立自身的核心能力。

(2)组件化推动企业的专业化发展

IBM对国内外各个行业的最佳实践进行了大量的比较研究。发现那些成功的企业都是通过重新组合企业的最佳能力来重新定义商业模式。这些企业首先将那些能为公司赢得最大竞争力和最大利润的业务归类为核心业务。然后,重点围绕这些业务功能培育专业化能力。对于那些不能提供竞争优势或对利润不能发挥关键杠杆作用的业务功能,则由外部的专业合作伙伴来实现。IBM将采用这种由内外部专家装配而成的商业模式的企业称为专业化企业。称为专业化企业可以帮助管理者摆脱在差异化、快速反应和高效率之间做出折衷的选择。有理由相信,专业化业务模式将从根本上重新塑造21世纪的企业和行业。

(3)组件化可以提高企业的灵活性

企业需要灵活性来快速响应客户不断变化的需求,但企业的发展也需要一定的稳定性,否则会产生混乱。通过建立组件化的运营平台,可以实现灵活与稳定的平衡,用稳定、有限的组件,搭建多样化的企业,好比积木玩具,使用几块简单的积木,就可以搭建变化无穷的造型。

(4)组件化是一种加速增长的跳板

获得持续的增长是企业生存和发展的关键,通过组件化再造,企业可以发现许多商业机会,实现戏剧性的增长和持续的扩展:开放性成长。(有关组件化和开放性成长的更多内容请参考由IBM全球副总裁琳达·桑福德著《逃离商品化陷阱,赢在组件化平台:开放性成长》一书,东方出版社出版》

(5)组件化是企业实施SOA的基础
有专家预测,SOA将会像互联网一样对企业带来革命性的冲击,而企业要进行SOA,首先必须进行组件化改造。
全部回答
  • 1楼网友:摆渡翁
  • 2021-02-24 11:44
张克军 提出的“组件化就是函数式界面开发”这一说法我是难以接受的,函数式界面开发就让它好好地叫“函数式组件化”吧,不然我们会在所谓的“传统ui框架”和“函数式界面开发”之间出现一个gap,岂不是又要造个词给填上,多累…… 我前面说会有一个gap,这个gap很可能就是我们现在想用“组件化”这个定义去表达的一些点,我想在此做一些个人的见解 我将之理解为以下几要素: 组件是对逻辑的封装,不限于图形元素。即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组件、把数据架构做成组件,而这些并不能称为控件 组件具备单个可移植性,即“随加载随用”,不需要为其准备复杂的基础条件(如引入样式、引入框架等)。然而这一点现有那些所谓组件库做得并不好,技术上也不大现实 组件是声明式定义的,而非命令式。这个不想多说,很大程度上是自己主观的一个想法 而上面最重要的就是第一点,所以要问我什么是“组件化开发”,我的说法是: 把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 这与传统开发框架的最大区别就是统一了图形元素与非图形元素,除此之外我再想不出其它真正体现区别的点了 在这个概念下,包括router、ajax、module loader、timer、animation、interval等,都是组件,共享统一的生命周期管理和对外接口,且都是声明式地进行组合 我的一位同事告诉我去年的深js上,有位淘宝的朋友的话题叫做“前端组件服务化”,这里面提的那些个概念,是很符合我对“组件化”的认识的,他要是不给再强安个“服务化”的噱头就好了- - 不过话说回来,在这个要求之下,组件其实不是那么好进行抽象设计的,随便说几个例子,有难的也有简单的: 非图形元素的各种需求如何统一接口,如timer和ajax 组件可以横向组件,但是纵向复用如何解决,如希望任何图形元素都可以实现被鼠标拖拽的效果,则鼠标拖拽应该也是个组件,这个组件与其它组件的关系是什么 有些组件对其可被组合的组件是有要求的,比如html里就不大好意思把一个

放进一个里,这一点如何在组件上表达(实现不难,表达比较难) 一些我们原本想当然认为纯的小函数的东西,是不是也能当组件玩,比如underscore.pick要不要也是个组件

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯