我坚持一点设计问题。软件设计问题:循环依赖
以下情况
库接口
包含接口为每个模型类(getter和仅设置器)
Libray Businnes逻辑
包含接口库和DAL的实现。 使用接口&转运库
库转运: 包含类短信第三方Web服务。此外,如果需要,我想添加第三方库的引用或Web引用。 使用接口库。
到目前为止不错。现在没有循环依赖。只要需要调用web服务,业务逻辑库就会使用“transporter”库调用extern方法。这工作得很好。
但现在我需要创建一个web服务,第三方应该能够在我们这边创建业务对象。我想创建一个“变换库”,其中bussines对象被转换为外部webservies的消息对象,反之亦然。在那里,我认为是我目前的架构存在的问题。如果我想创建这个库,我得到一个循环依赖。 原因是
- 转运引用变换
- 转换库引用BL
- BL引用转运
我希望我可以解释我的情况很好。
感谢您的每一个想法来解决这个问题。
+1为正确的大锤。然而,通过重新思考模块化,仍然可能不太有力的解决方案。 – 2009-08-03 16:35:59