写了十年代码,面向对象还是一知半解,这也不能全怪你( 二 )

  •  
  • 以乘客的上车和下车过程作为推导 , 你会找到什么?
     
    三、OO VS OP
     
    OO我们说的是面向过程 , 但是这里的OP 不是面向过程 。而是对象过程。OPM它的全称叫做Object Process Methodology 对象过程方法 。是由以色列理工学院的Dov Dori教授研发出来的 , 它的目的是将面向对象的图表和面向过程的图表综合到一套方法中 , 更方便对系统架构进行描述 。所以你看到上面将对象与过程放到了一张图里面 。
     
    它没有改变OO里面关于抽象、封装、模块化与层次的本质。而区别于OO里面仅通过在总是域中找名称的形式来进行类的抽象 , 坦白讲这有点像老师跟你说你自己想一下 。虽然这个道理很深奥 , 但是可能很难参透 。
     
    而OPM给我们带来的是找到关键过程 , 然后通过关键过程的链接(主体对象、工具对象、输入对象、受影响的对象)等 , 为我们搭建了一个桥梁 , 能够帮助我们降低抽象的门槛 。并同时能够让我们利用OO的思想中的那些本质元素:抽象、封装、模块化与层次 。(OPM对于层次的建模不需要像UML那样分为多张图)
     
    四、这是广告
     
    我在我们一期功能架构训练营中将架构过程与OPM相结合 , 打造了一套科技学落地架构设计过程与方法 。同学学完之后是这么说的:
    学习这个打开了我的新世界  , 原来这个还有方法论 。我也有下载你说的那个系统架构:复杂系统的产品设计与开发 , 用琐碎的时间看了前面2张 , 后面就扔掉了 。从投资与回报来说 , 你的课程确实性价比特别高 。
    在前几天我还没有意识到虽然这个过程是已经存在的 , 但是它之前是被应用在更广泛的系统设计上(比如硬件或者其它系统) , 但是在软件设计领域 , 可能还没有 。(如果有的话麻烦告诉我- -、) 想想这个过程可能拯救国内600万被OO搞的头大的程序员于水火之中 , 这件事情就值得我好好地去推广 。




    推荐阅读