我现在碰到这个问题,我现在的程序是基于一个比较简单的数据库设计,我是说只有2张表格,而且他们之间的关系不复杂,现在为了满足更高的需求,我需要设计一个复杂一些的数据库,在此基础上为用户提供高级的功能,但是我又想同时保留这2个版本的程序,分别作为初级版本和高级版本来开发,我应该怎么做?我能想到的是以下这些:1. 设计与初级版本数据库完全兼容的高级版本数据库,我是说高级版本中的关系完全覆盖低级版本数据库的关系,表格和字段也是只多不少,在应用层把高级功能作为一个完全可拆卸的功能包,添加到原有的初级版本中去,这样可以同时开发初级版本和高级版本。但是问题是这对我来说很难,我现在也没法厘清程序里面各项功能模块。2. 初级版本的数据库保持老样子,专门设计新的高级版本的数据库,然后分别开发初级和高级版本的应用程序。大侠会推荐哪种?有没有啥什么中间路线?我就想知道江湖规矩是怎么样的。

解决方案 »

  1.   

    说实话,才两个表的小程序,重写都没什么。非要折腾,我觉得最好的办法是写两个独立的程序,使用VS开发环境的“代码链接”功能,共享它们之间相同的源代码。代码链接的使用方法是新建第二个项目,添加源代码,在打开的对话框的右下角勾选链接选项。
      

  2.   

    居然有这种“代码链接”功能啊,跟版主学了一招!
      

  3.   

    什么高级功能?一定要具体!再伟大和灵活的架构也是具体的。如果追求“伟大和灵活”结果不合具体细节,那么就是空话。真正的设计师是能够花一点点改进的精力而能够解决多10倍的细节,这才叫做设计。你如果连“在此基础上为用户提供高级的功能”都想弄个空洞的概念就来套别人的知识,这可能吗?有这么傻b的老师不知道你的具体条件就给你交出自己的解释来么?
      

  4.   

    先表达清楚自己的“高级的功能”有多么高级,这样别人就能给你具体的指导。这就是提问的艺术之一。你花在解释“高级的功能”上的文字应该比其它的文字更多,动脑子先自己说把大白话说明白,你自己的设计(以及别人给你的启发)才变得清晰和有意义。
      

  5.   


    晕!引用另外一个工程,那是很随便地扔出一个胡萝卜啊。