首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDD /层和遗留系统

DDD /层和遗留系统
EN

Software Engineering用户
提问于 2012-08-30 12:16:38
回答 2查看 767关注 0票数 7

我必须重构一个复杂的C#应用程序(许多对话框,混合逻辑等等)。

其中包括与专用硬件设备的通信管理(通过异步c#回调发送命令和接收数据)。代码是带有混合UI/Logic/Communication/etc的“意大利面”,我的任务是在DDD的意义上分割这些层。

那么,哪一层属于回调驱动程序呢?

回调在系统中创建了“气泡”,直到UI层,因此我不能执行这样的基本原则,即一个层的任何元素只依赖于同一层中的其他元素,或者依赖于“在”层下的层元素。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2012-08-30 17:04:45

您可能想看看事件聚合器模式。一方面,您将拥有与硬件接口的代码。当消息来自硬件时,您应该将其发布到事件聚合器(或者可能将其转换为内部事件类型并发布它)。对该信息感兴趣的任何其他组件都可以订阅该信息,并在通过该信息时接收它。这种模式将与硬件接口的代码与系统的其他部分分离开来。

票数 1
EN

Software Engineering用户

发布于 2012-08-30 14:34:45

对于发送异步事件的特殊硬件,您并不像您想象的那样缺乏经验。它完美地描述了鼠标或键盘。就用同样的模式。在驱动程序层中,有某种registerListener方法,并为其他类创建一个接口,以实现接收事件。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/162991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档