我和我的团队正在开发一个 ERP 系统,它有很多模块(人力资源、会计等)
我们面临的问题是两个模块(人力资源,会计)之间有一些共享实体,比如员工
人力资源系统中的员工有很多细节,例如:
Personal Information , Visa Info , Report To , Sources , Training , Etc
会计员工几乎没有信息
Personal Information , Bank Account , Employee Account (That's it )
1)假设每个模块都将作为独立版本工作(此完成)
2)假设两个模块将一起工作,这意味着员工将反映在两个模块中,即使他们在每个系统中有不同的流程
当我在 HR 模块中定义新员工以让会计模块感受到变化时,我需要什么,以及两个模块中发生的任何操作都必须处理同一个实体?
考虑到该员工与其他实体有关,例如与他相关的公司,并且该公司实体在两个模块中都不同(例如,它在 HR 模块中有很多详细信息,但在会计中只有公司在其下有一些分支机构)
注意:每个模块都有单独的数据库(不想在独立版本中扩大数据库)
开发两个模块以协同工作的正确方法是什么?还是独立的???
现在为时已晚,我们应该从一开始就将其设计为共享实体吗?
如果我使用共享实体意味着我应该共享业务逻辑和数据访问层?
我尝试在谷歌上搜索很多关于此的信息,但此类信息仅来自实际实施和生活经验
技术: Asp.net + Mysql