最近做OA系统中的公文流转设计,主要有公文和工作流2个实体,公文部分有发文和收文,工作流主要有发文工作流和收文工作流。
使用Struts+Hibernate技术来实现。
现在有2种设计方案
第一种方案是:
设计一个公文父对象,下面分为发文和收文2个子对象,把发文和收文相关的方法分配到2个子对象的类中。
设计一个工作流父对象,下面有发文工作流和收文工作流,把发文工作流和收文工作流相关的方法分配到2个子对象的类中。好处:1.结构层次清晰,便于管理维护。
      2.数据库中的表个数少,减少一定数量的冗余。第二种方案是:
把“发文”,“收文”,“发文工作流”和“收文工作流”设计为4个各自独立的对象类。缺点:1.类的数量多,类之间的结构不清。
      2.数据库中的表个数较多,有一定数量的冗余。备注:这个OA的前一个版本是使用第二个方案来做的,我的想法是倾向第一种方案,
请问有Web设计方面经验的大虾们,这两种方案哪种更好一些,如何进行选择??具体代码实现和管理起来哪种方便、更好一些??。