软件架构、分层问题
根据微软petshop,我们通常把软件分为Common,Entity,DataAccessLayer、BusinessLogicLayer、和WebService/UI层。
比如,在Entity中,存在有Customer、Order类型,
现在, DAL层依赖于Entity,BLL依赖于DAL;
需求:Customer类型需要有方法MakerOrder(),MakerOrder()需要使用DAL层向数据库插入Order记录。于是Entity对DAL层形成了依赖。
问题:DAL和Entity形成了循环依赖,这是不允许的。
请问如何解决?有什么思路?