三、OO VS OP
OO我们说的是面向过程 , 但是这里的OP 不是面向过程 。而是对象过程。OPM它的全称叫做Object Process Methodology 对象过程方法 。是由以色列理工学院的Dov Dori教授研发出来的 , 它的目的是将面向对象的图表和面向过程的图表综合到一套方法中 , 更方便对系统架构进行描述 。所以你看到上面将对象与过程放到了一张图里面 。
它没有改变OO里面关于抽象、封装、模块化与层次的本质。而区别于OO里面仅通过在总是域中找名称的形式来进行类的抽象 , 坦白讲这有点像老师跟你说你自己想一下 。虽然这个道理很深奥 , 但是可能很难参透 。
而OPM给我们带来的是找到关键过程 , 然后通过关键过程的链接(主体对象、工具对象、输入对象、受影响的对象)等 , 为我们搭建了一个桥梁 , 能够帮助我们降低抽象的门槛 。并同时能够让我们利用OO的思想中的那些本质元素:抽象、封装、模块化与层次 。(OPM对于层次的建模不需要像UML那样分为多张图)
四、这是广告
我在我们一期功能架构训练营中将架构过程与OPM相结合 , 打造了一套科技学落地架构设计过程与方法 。同学学完之后是这么说的:
学习这个打开了我的新世界 , 原来这个还有方法论 。我也有下载你说的那个系统架构:复杂系统的产品设计与开发 , 用琐碎的时间看了前面2张 , 后面就扔掉了 。从投资与回报来说 , 你的课程确实性价比特别高 。在前几天我还没有意识到虽然这个过程是已经存在的 , 但是它之前是被应用在更广泛的系统设计上(比如硬件或者其它系统) , 但是在软件设计领域 , 可能还没有 。(如果有的话麻烦告诉我- -、) 想想这个过程可能拯救国内600万被OO搞的头大的程序员于水火之中 , 这件事情就值得我好好地去推广 。
推荐阅读
- 求职|《回顾人生操蛋三十年》第五章 毕业的恐慌
- 代码原来是这样被CPU跑起来的
- JavaScript,面向对象,实现继承,对象冒充和原型链继承,代码
- 十年红茶,红茶的发展历史和状况
- 17 个高频好用的JavaScript 代码块
- 全网连夜修复的Log4j漏洞,如何做到一行代码都不改?
- .NET 6新特性试用 | System.Text.Json序列化代码自动生成
- SEO必备:HTTP状态代码全解读
- 20条JavaScript代码简洁的写法
- 在今日头条写了4个多月微头条,收入一万多,分享一下我的经验