(转)坚决抛弃powerdesigner建模
这几天新到一个公司,投入他们的产品线开发,几天下来发现旧系统分层结构中竟然没有BO层,任何VO的变动都会影响相应的业务层发生改变,可能变动仅仅就是加了一些字段。
整个公司统一采用powerdesigner做设计,完全就是忽视概念模型,通通的采用数据库建模,之前工作的一家公司也是一样的设计方式,甚至这边,很多公司都是这样,而且基本都是一些大公司。
郁闷的,整个系统最稳定的概念模型层没有,除了基本的曾删改,很多业务逻辑都需要通过SQL去实现,一旦VO或者业务逻辑发生小许改变,系统就变得很不稳定。
而且这些公司做的还都是移动电信BOSS之类的系统,业务极端复杂,数据库模型已经复杂到根本没办法很好的表现业务模型。理解起来非常费劲,简单的问题都被复杂化到无以忍受。根本没有可能进行组件级的复用,产品化起来太困难了,都是通过配置来写差异化代码。
个人觉得,项目设计中最重要的就是设计概念模型,抽象业务,坚决抛弃powerdesigner建模,不过倒是可以用它设计数据库实现,维护数据库更新。还有就是,OR-Mapping在设计中太重要了,就是要通过它强化对象模型,弱化数据库模型,我本人设计倒无所谓,就算不用OR-Mapping框架,也会按照这样的思想去做,但是开发新手往往做不到这点,没有OR-Mapping框架去限制他,往往项目搞久了,后面的东西不成样了,我总在公司强调在业务层建模,再去设计数据库,没办法,似乎大家都习惯了,认为设计数据库就是设计系统。