新手问题:如何做渐进式开发

作为一个新手,在大学里面自学过Java编程,也做过几个用SSH的网站。但是没有机会做比较大型的项目。
在学校里做这些项目的时候,基本上都是先设计完所有功能,再进行编码,没有遇到需求改动,也没有项目上线之后去加入新的功能。
我的疑问是,如果一个项目需要后期不断加入新的功能,那么它的数据库是否需要在一开始就设计好呢?如果不是,那么如何做到在数据库设计改动之后,保证原数据不丢失的情况下进行数据迁移呢?(尤其想问hibernate是怎么做的)。

阅读 5.4k
3 个回答

1.做之前数据库当然是设计好的,但在做的过程中肯定是会改动的,可能是需求变化,可能是解决方案的变化。
2.这样,你说的数据迁移问题,是发生在项目已经上线了,数据都是又有的话,如果数据库改动非常大,那就通过sql导数据吧,hibernate没那么高级。如果数据库改动不大(这要看数据库设计人员的功力了),那也没什么数据迁移的问题了。代码的地方改改好了。
3.渐进式开发?好的系统维护性很好,可扩展性强,这要在开发的时候在细节的地方就注意起来。“把变化的和不变的隔离开来”,“面向接口编程”,能用一些设计模式想必是极好的,但不要为了设计而设计哦。但实际情况时,一般(注意是一般)的大型项目,维护或者加新的功能,都会让你头疼的。

数据库不是以开始就设计好的。也不可能以开始就设计好。

这种方法最好的情况是采用分层来设计,这样,如果有新功能,只需要根据功能来调用不同层的接口就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏