软件开发思路:整合,复用,分享

昨天表了一篇文章《软件开发关键字:整合和复用》。关于整合和复用,是有一些交集的。

今天继续这个话题。不过题目变了一下。

 


 

以复用的思路指导开发:
1、构建系统的时候,把多个子系统系统的交集部分抽象出来,作为系统的基础设施,为多个子系统提供服务。我们公司是从事企业语音系统开发,包括调度系统,会议系统,呼叫中心系统等。这几个子系统的交集,典型的比如企业通讯录,计费,呼叫记录,网管,都可以单独抽象出来做为基础设施为各个子系统提供服务。
2、在构建程序的时候,可以将能够复用的模块以库的形式抽象出来。比如,软交换系统需要使用sip协议栈,那么就可以把sip协议栈开发成为一个库,这样就可以在其他程序(比如TG)中复用sip库。如果软交换程序要重新开发,也可以直接复用以前的sip库。其他相同的比如tcp分包流控模块,定时器模块等。
3、再更低一个层次,就是子程序的复用。把重复的操作以封装成一个库,比如TCP建立连接和关闭连接,收发包等。
按照这种思路开发的好处:
1、避免重复开发,提高开发效率。
2、程序结构可以快速的演进。比如,旧版的软交换使用的sip库,可以在新版软交换开发的时候直接被拿来使用。类似的库越多,软交换在重新架构的时候就可以只对核心部分进行重新设计,而其他部分都可以重用。
3、整个系统可以灵活的演进。子系统的交集:企业通讯录,计费,呼叫记录,网管等以基础设施的方式支撑整个系统,当整个系统演进的时候,可以直接重用这些基础设施,或者进行小范围的更改后进行重用。这样的话,就可以只对系统的核心部分——业务逻辑部分——进行重新设计,达到系统升级的目的。


以整合的思路指导开发:
1、在开发一个新产品的时候,要首先看看公司以往有没有优秀的解决方案、软件模块可以整合以提高效率。其次,要开源世界有没有优秀成熟的解决方案可以整合。比如,要在c和c++上进行xml编解码,那么可以寻找一些优秀的开源解决方案,比如tinyxml,而未必要自己实现。在比如,如果需要工作流引擎可以参考一下JBPM。
好处:
1、借助已有的优秀方案可以加速软件开发过程,避免重复开发,保证产品质量。
2、在整合的过程中,会逐渐积累研发经验,形成研发平台,从而变成公司的宝贵资产。


以分享的思路指导开发:
1、在公司内部分享开发中的可重用的软件模块,技术积累,管理经验。促进知识流动。
2、面向公司外部分享开发中的可重用的代码模块,技术积累,管理经验。部分可重用的模块可以考虑以开源的形式贡献出来。利用社区的力量,推动自身软件研发实力的发展。
好处:
1、整合和分享结合起来,实现“使用开源,回馈开源”,促进技术进步。
2、利用开源社区的反馈,促进自身技术进步。
3、促进知识,经验的流动。

整合和复用的好处是,可以使程序,系统的核心部分独立于其他部分而快速的演进,从而达到程序、系统快速升级的目的。

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《分析模式:可复用的对象模型》是一本面向软件开发领域的经典著作,由Martin Fowler等人合著。该书从分析模型的角度出发,介绍了如何构建可复用的对象模型。 首先,该书强调了对象模型的重要性。对象模型是软件开发过程中的关键组成部分,它描述了系统中的实体、它们之间的关系、行为和属性。一个好的对象模型可以提供更好的可读性、可维护性和可扩展性。 其次,该书提供了一些实用的指导原则和技巧,帮助读者构建可复用的对象模型。其中包括面向对象的基本原则和概念,如封装、继承、多态等。此外,书中还介绍了一些常见的设计模式和架构模式,如单例模式、观察者模式、MVC模式等,它们可以帮助开发者更好地设计和组织对象模型。 此外,该书还提供了一些案例研究和实例,通过具体的示例向读者展示了如何应用这些原则和模式来构建可复用的对象模型。这些实例来自不同的领域,包括电子商务、金融、医疗等,读者可以根据自身的实际需求来借鉴和应用。 总的来说,该书通过深入浅出的方式,系统地介绍了构建可复用的对象模型的方法和技巧。它不仅可以帮助读者提升自己的分析建模能力,还可以提供一个参考和指导,帮助开发者设计出更高质量、更易维护和可扩展的软件系统。无论是初学者还是有经验的开发者,都可以从中受益匪浅。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值