漫谈软件设计与分工协作
本节导读:
阐述“分工/协作”是世界万事万物进化发展的必然选择,也是软件设计首要指导思想,也是软件分层、分模块的理论依据。
对于从事软件行业的人来说,大部分人会经历软件架构设计,想尽可能的将软件设计的灵活、简单、好用,谈到软件设计我们经常会听到一些术语,比如:面向对象设计、设计模式,设计原则、分层思想等。但这些模式、原则起什么作用,为什么需要这些模式、原则,我们可能说是为了软件可阅读性,可维护性,可扩展性,为了程序解耦,为了模块化,为了插件化。但这是理由吗,这个理由能站得住脚吗藏在这些需求背后的是否有个“万有引力”在支配呢/span>
|
||
|
||
|
||
|
让我们的思绪回到中世纪,牛顿那个年代,那个年代的人们对于日月星辰的运转规律已经有比较准确认识,人们已经学会根据日月星辰的规律来指导生产生活实践,但是这个时代的人们仅仅是在利用规律,并不知道是什么在支配这些日月星辰的运转,直到牛顿出现,发现了万有引力,人类才利用万有引力将人造卫星送上天。
那么我们软件行业的很多规律、原则,比如上面提到的,面向对象开发、程序解耦、设计模式、设计原则、模块化,插件化,这些都是工作经验的总结,但我们为什么必须遵守这些规律和原则,这些规律和原则背后的万有引力是什么/span>
要解决这个问题,我们需要从计算机最初诞生说起,在第二次世界大战中,敌对双方都使用了飞机和火炮,猛烈轰炸对方军事目标。要想打得准,必须精确计算并绘制出“射击图表“。经查表确定炮口的角度,才能使射出去的炮弹正中飞行目标。但是,每一个数都要做几千次的四则运算才能得出来,十几个人用手摇机械计算机算几个月,才能完成一份“图表“。针对这种情况,人们开始研究把电子管作为“电子开关“来提高计算机的运算速度。许多科学家都参加了实验和研究,终于制成了世界上第一台电子计算机,起名为“埃尼阿克“。
第一台计算机制造出来后,没有内存,电脑只负责计算,输入输出都要靠人,第一台计算机使用相当不方便,因此冯·诺依曼博士在此基础上提出了计算机“冯·诺依曼结构结构”,见下图:
下节导读:
阐述软件分工的原则,协作原则,从现实世界分工习惯来推导软件系统应该如何分工,指导软件系统如何解耦。
相关资源:win10,win11可用,智尊宝纺服装CAD制版软件,win7可用最新版9.74…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!