有个服务器, 写成了组件, 用于在其它程序里调用, 可是服务器的各种状态变化如何在用户界面程序里显示, 这个问题一直很不爽. 让界面程序来不断查询组件的状态吗? 在组件里包括一个日志窗口的引用吗? 不爽! 这样的代码好丑! 还有日志, 组件如何知道该写到什么日志里呢? 难道还要由界面程序在组件里放一个日志文件名吗?
今天有了个好办法, 终于可以把这些统一起来了. 就是用事件. -------- 怎么从前没有想到?
组件有了需要通知的事情发生, 就用事件的方式触发, 调用组件的界面程序只要订阅这个事件就可以了. 组件想说什么都可以, 放到事件参数里, 有人有兴趣就处理, 该显示就显示, 该写文件就写文件. 怎么显示, 怎么处理都是调用者的事情, 服务器组件只是一个组件, 内缩在里面就好了, 不应该参与任何与人机界面有关事情. 这样就清晰了.
看来是编程序少了, 这种事情都这么晚才想到. 以后要多练了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架