本人从Oracle Form进入开发领域,接受过严酷的pl/sql编程洗礼,对sql进行了为期一个月的死刑般的练习,可以说深受影响了。但是在开发过程中始终觉得力不从心,因为我在大学时代学过了java,接受了另外一种思想:面向对象编程。所以在写pl/sql的时候,总会用面向对象的思想去写,比如写包、触发器、存储过程的时候,总会去想到抽象和重用,但是事务性的sql语句,总让我感觉很累,最后不得不跳出oracle服务公司,转到如今的公司,参与到该公司的软件创业道路上来,接受了强烈的面向对象建模思想,并且完全抛弃了原有的数据库思想,可以说是洗心革面了自己的编程思想。发现领域建模+领域事件的结合是软件编写最完美的结合。下面就DDD跟RDBMS建模谈谈自己的看法。
我们知道:一个软件从无到有需要经过如下几个阶段:分析、设计、编程、调试、部署和运行。目前,将需求从客观现实世界映射到计算机软件世界主要有两种方式:
1、传统数据库分析设计
2、面向对象建模( object-oriented class model)
当前软件主要潮流无疑是面向对象占据主流,虽然它可能不是唯一最好最简单的解决方案,但是它是最普通,也是最恰当的。
。。。
我们知道:一个软件从无到有需要经过如下几个阶段:分析、设计、编程、调试、部署和运行。目前,将需求从客观现实世界映射到计算机软件世界主要有两种方式:
1、传统数据库分析设计
2、面向对象建模( object-oriented class model)
当前软件主要潮流无疑是面向对象占据主流,虽然它可能不是唯一最好最简单的解决方案,但是它是最普通,也是最恰当的。
也就是说:在分析设计阶段,采取围绕什么为核心(是对象还是数据表为核心)的分析方法决定了后面编码阶段的编程特点,如果以数据表为核心进行分析设计, 也就是根据需求首先得到数据表名和字段,然后培训程序员学会SQL语句如何操作这些数据表,那么程序员为实现数据表的前后顺序操作, 必然会将代码写成过程式的风格。
相反,如果分析设计首先根据需求得出对象模型(class Model),那么程序员使用对象语言,再加上框架辅助,就很顺理成章走上OO编程风格。 至于OO代码相比传统过程编码的好处不是本文重点,扩展性和维护性好,开发越深入开发速度越快无疑是OO系统主要优点。。。。
来源:oschina
链接:https://my.oschina.net/u/3966/blog/2279