.NET Core 中对象池(Object Pool)的使用 在.NET Core中,对象池(Object Pool)是一种软件设计思路,用于提供对象的可复用性能力,通过借和还来重复使用对象,节省频繁创建对象的性能开销。对象池在游戏设计和数据库连接池中有广泛应用。微软提供了.NET Core中的对象池实现,包括ObjectPool、ObjectPoolProvider和IPooledObjectPolicy。通过示例代码展示了如何使用ObjectPool,在高并发场景中有效管理TCP连接,以解决RabbitMQ连接数不足的问题。通过实现IPooledObjectPolicy<T>可以自定义对象池策略。最终介绍了如何实现Channel“池”来管理TCP连接,在使用EventBus时重复使用Channel,提高系统性能。
Redis 缓存技术学习系列之发布订阅 本文讨论了Redis中的发布-订阅模式,首先介绍了观察者模式及其实现,包括抽象主题、具体主题、抽象观察者和具体观察者的角色和功能。接着详细介绍了如何在C#中实现观察者模式。随后,文章引入Redis中的发布-订阅模式,解释了其概念,与观察者模式的联系以及相关的Redis命令,如PSUBSCRIBE、PUBLISH等。最后通过示例展示了Redis发布-订阅模式的实际操作过程。整体强调了设计模式的重要性以及Redis的发布-订阅模式与观察者模式的关联。
在 Unity3D 中基于订阅者模式实现事件机制 在Unity3D中,基于订阅者模式实现消息传递机制是探讨的重点。文章介绍了单例模式、委托和事件机制在不同模块间通信中的应用,重点讨论了订阅者模式和事件机制的实现方式。通过示例展示了事件机制的应用,包括使用一个通知中心类来实现事件的添加、移除和分发,以及事件数据的传递和处理。文章指出目前设计存在的问题,并提出优化建议,如改进键名设计和参数传递方式以提高扩展性和性能。