如果审批业务比较简单,不需要用户自定义流程,那么完全可以额外的记录来标识业务对象的状态和审批记录。如果需要用户自定义,并且流程逻辑比较复杂,那么你可以采用工作流系统来负责整个系统的流程导航,建立流程模型之后通过工作流接口驱动节点,完成流转。使用工作流的好处是让业务流程可以有比较大的灵活性,采用恰当的设计,就可以减少业务处理和业务流程的耦合,增加系统的扩展性。当然,开发一个工作流系统的代价是比较大的,不过你可以采用一些开源的工作流产品,例如osworkflow,jbpm,shark等产品。如果有兴趣,可以先看看<<工作流参考模型>>这个文档,可以对工作流系统有一个大致的概念。