面向对象建模与数据库建模两种分析设计方法的比较

左心房为你撑大大i 提交于 2019-12-06 10:42:28
本人从Oracle Form进入开发领域,接受过严酷的pl/sql编程洗礼,对sql进行了为期一个月的死刑般的练习,可以说深受影响了。但是在开发过程中始终觉得力不从心,因为我在大学时代学过了java,接受了另外一种思想:面向对象编程。所以在写pl/sql的时候,总会用面向对象的思想去写,比如写包、触发器、存储过程的时候,总会去想到抽象和重用,但是事务性的sql语句,总让我感觉很累,最后不得不跳出oracle服务公司,转到如今的公司,参与到该公司的软件创业道路上来,接受了强烈的面向对象建模思想,并且完全抛弃了原有的数据库思想,可以说是洗心革面了自己的编程思想。发现领域建模+领域事件的结合是软件编写最完美的结合。下面就DDD跟RDBMS建模谈谈自己的看法。
       我们知道:一个软件从无到有需要经过如下几个阶段:分析、设计、编程、调试、部署和运行。目前,将需求从客观现实世界映射到计算机软件世界主要有两种方式:
1、传统数据库分析设计
2、面向对象建模( object-oriented class model)
      当前软件主要潮流无疑是面向对象占据主流,虽然它可能不是唯一最好最简单的解决方案,但是它是最普通,也是最恰当的。

  也就是说:在分析设计阶段,采取围绕什么为核心(是对象还是数据表为核心)的分析方法决定了后面编码阶段的编程特点,如果以数据表为核心进行分析设计, 也就是根据需求首先得到数据表名和字段,然后培训程序员学会SQL语句如何操作这些数据表,那么程序员为实现数据表的前后顺序操作, 必然会将代码写成过程式的风格。

  相反,如果分析设计首先根据需求得出对象模型(class Model),那么程序员使用对象语言,再加上框架辅助,就很顺理成章走上OO编程风格。 至于OO代码相比传统过程编码的好处不是本文重点,扩展性和维护性好,开发越深入开发速度越快无疑是OO系统主要优点。
。。。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!