基于构件的软件开发模型漫谈

基于构件的软件开发模型为我们带来了很大的成功,个人认为其背后的原理是构件中成功的商业价值能够被不断复制,因而带来更大的商业价值。

“复制”不但能够降低开发成本,还能够提高单位产出,提升系统的整体稳定性,降低bug率。

以开发一个App为例,Swiper,ScrollView,Image等等都是常用构件,我们通常以这些构件为基础来实现复杂的商业逻辑,从而产生价值。在这个过程中,我们对实现Swiper和ScrollView的成本几乎为0(当然可能需要一些license费用)。我们的成本主要集中在实现复杂的商业逻辑这一块。

但如果能够将“复制”的范围扩大,例如对复杂的商业逻辑实现进行复制,那么我们的成本会降低,收益会增大,市场竞争力也会变得更强。

可是这“复制”实现起来并不容易,这里包含了技术也包含了管理思想。

从管理的角度,基于构件的开发模型包括5个阶段:

  1. 需求分析和定义
  2. 体系结构设计
  3. 构件库建立
  4. 应用开发
  5. 测试

从技术的角度分析,基于构件的开发模型至少包括3个支持:

  1. 构件存储与管理
  2. 构件测试自动化
  3. 构件应用自动化

构件库的建立不是一蹴而就的,需要架构师和开发人员的长期合作。
举一个前端开发,微信端H5页面分享的例子。
要实现微信端H5页面的分享,要完成以下步骤:

  1. 配置微信的jssdk,注册需要使用的功能
  2. 页面加载时,调用jssdk的hideOptionMenu
  3. 页面加载时,注册onMenuShareTimelineonMenuShareAppMessage
  4. 点击按钮,打开一个半透明引导层,引导用户点击右上角的"…",与此同时调用jssdk的showOptionMenu
  5. 用户点击半透明引导层时,调用jssdk的hideOptionMenu,同时关闭半透明引导层
  6. 分享回调执行时,调用jssdk的hideOptionMenu,同时关闭半透明引导层

上面这些步骤可以是开发人员的经验,即每做一个具有分享功能的页面,开发人员都要重复上面6个步骤,如果开发人员某一天忘记某个步骤,那么这个分享功能可能就不能正常工作,从而耗费更多的人力去debug。
如果能够将上面6个步骤封装在一个构件中,通过继承让新创建的页面具有分享功能,通过简单的api来实现交互,那就能够达到降低开发成本,提高单位产出,提升系统的整体稳定性的目的。

上面聊了基于构件的软件开发模型的优点,难点和具体实践举例,它能够带来商业上的成功,但从实践上看,它需要基于架构师,开发人员以及其它相关人员的紧密合作。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天好,会的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值