美文网首页技术人生
为什么OO能更适应业务变化

为什么OO能更适应业务变化

作者: 不是那个杨洋 | 来源:发表于2017-02-15 16:13 被阅读6次

摘自http://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html
写的很不错,关于边界的探讨和我长期来的思考是一致的。

为什么面向对象比面向过程更能适应业务变化

对象将需求用类一个个隔开,就像用储物箱把东西一个个封装起来一样,需求变了,分几种情况,最严重的是大变,那么每个储物箱都要打开改,这种方法就不见得有好处;但是这种情况发生概率比较小,大部分需求变化都是局限在一两个储物箱中,那么我们只要打开这两个储物箱修改就可以,不会影响其他储物柜了。

而面向过程是把所有东西都放在一个大储物箱中,修改某个部分以后,会引起其他部分不稳定,一个BUG修复,引发新的无数BUG,最后程序员陷入焦头烂额,如日本东京电力公司员工处理核危机一样,心力交瘁啊。

所以,我们不能粗粒度看需求变,认为需求变了,就是大范围变,万事万物都有边界,老子说,无欲观其缴,什么事物都要观察其边界,虽然需求可以用“需求”这个名词表达,谈到需求变了,不都意味着最大边界范围的变化,这样看问题容易走极端。

其实就是就地画圈圈——边界。我们小时候写作文分老三段也是同样道理,各自职责明确,划分边界明确,通过过渡句实现承上启下——接口。为什么组织需要分不同部门,同样是边界思维。画圈圈容易,但如何画才难,所以OO中思维非常重要。

需求变化所引起的变化是有边界,若果变化的边界等于整个领域,那么已经是完全不同的项目了。要掌握边界,是需要大量的领域知识的。否则,走进银行连业务职责都分不清的,如何画圈圈呢?

面向过程是无边界一词的(就算有也只是最大的边界),它没有要求各自独立,它可以横跨边界进行调用,这就是容易引起BUG的原因,引起BUG不一定是技术错误,更多的是逻辑错误。分别封装就是画圈圈了,所有边界都以接口实现。不用改或者小改接口,都不会牵一发动全身。若果面向过程中考虑边界,那么也就已经上升到OO思维,即使用的不是对象语言,但对象已经隐含其中。说白了,面向对象与面向过程最大区别就是:分解。边界的分解。从需求到最后实现都贯穿。

面向对象的实质就是边界划分,封装,不但对需求变化能够量化,缩小影响面;因为边界划分也会限制出错的影响范围,所以OO对软件后期BUG等出错也有好处。

软件世界永远都有BUG,BUG是清除不干净的,就像人类世界永远都存在不完美和阴暗面,问题关键是:上帝用空间和时间的边界把人类世界痛苦灾难等不完美局限在一个范围内;而软件世界如果你不采取OO等方法进行边界划分的话,一旦出错,追查起来情况会有多糟呢?

软件世界其实类似人类现实世界,有时出问题了,探究原因一看,原来是两个看上去毫无联系的因素导致的,古人只好经常求神拜佛,我们程序员在自己的软件上线运行时,大概心里也在求神拜佛别出大纰漏,如果我们的软件采取OO封装,我们就会坦然些,肯定会出错,但是我们已经预先划定好边界,所以,不会产生严重后果,甚至也不会出现难以追查的魔鬼BUG。

相关文章

  • 为什么OO能更适应业务变化

    摘自http://www.cnblogs.com/netfocus/archive/2011/10/10/2204...

  • 前端微服务在字节跳动的打磨与应用

    传统前端业务通常会根据业务线集成在一个站点上,随着业务复杂度上升,包体积会迅速变的过大。为了适应这个变化往往需要更...

  • 设计模式要点

    OO指面向对象 OO基础 抽象 封装 多态 继承 OO原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现...

  • 四大障碍阻碍我们的改变

    2021.3.23 社会的变化、行业的变化、角色的变化,需要我们也能改变,能快速改变的人,也是能最适应环境,打破舒...

  • 设计工具箱.1初识

    本文是针对《Head First 设计模式》的阅读笔记。 OO基础 封装 继承 多态 抽象 OO原则 封装变化 多...

  • 一些疑问

    为什么会有框架?框架给我们带来了什么? 有了框架后,我们的工作发生了什么变化? 如果框架让我们更专注于变化的业务模...

  • 设计模式学习笔记(一)

    设计模式是为了设计出更容易维护的代码,“建立可维护的OO系统,要诀就在于想到系统以后可能需要的变化以及应付变化的原...

  • 变化的生活

    生活变化, 总是有不同的事情发生, 需要人适应, 适应起来真的不容易, 真的好难。 那为什么还要适应? 为什么要往...

  • 如何设计引人入胜的微课

    我们现在所处的环境是互联网时代,很多传统企业都在转型,不断调整业务方向、研发新产品线去适应市场的变化,所以知识的更...

  • 2021-04-14:中信书院大咖共读第14期-《长寿人生》03

    一、企业如何适应科技发展 主要是企业如何适应长寿时代的需求。 企业应该关注需求的变化,而不是当前的业务。 之前人生...

网友评论

    本文标题:为什么OO能更适应业务变化

    本文链接:https://www.haomeiwen.com/subject/hdmqwttx.html