ESBasic 可复用的.NET类库(00) -- 开源前言
来源:互联网 发布:软件测试管理购买 编辑:程序博客网 时间:2024/04/20 03:02
自从03年正式使用.NET开发以来,已经走过了6个年头,这期间我积累了几套类库和框架,ESBasic便是其中最基础的一个类库。ESBasic是Enterprise Service Basic的缩写,虽然也简写为ESB,但是它和Enterprise Service Bus(企业服务总线)没有任何关系。ESBasic是我能够快速和高效开发应用程序的利器之一,开这个专门的blog是想将它介绍给大家,希望能对大家有所启发。
ESBasic覆盖的内容包括:对象管理、插件、网络(Socket)、多线程、Emit与AOP、及相关助手类和基础类型。后面的博文会一一介绍ESBasic中每个重要类的缘起、适用场合、设计思想与实现、使用时的注意事项、扩展等。
类库的本质是复用,最大的价值在于实用,设计一个漂亮却不实用的艺术品也许可以做Demo,但是被复用的价值已经失去了。
所谓复用的精髓,在于抽象――要抽象得恰到好处。不能太抽象,太抽象的只是概念,无法被直接使用;抽象层次也不能太低,否则,就容易与具体的应用绑定在一起,从而限制了复用的场合和范围。“高内聚,低耦合”是我们在设计可复用类时必须要遵守的原则。
OO本身就是一种抽象的思维,但是要“创造”出可复用的类,仅仅依靠OO的思想是不够的,你的思维需要不断地锻炼――经常想一想,这个类是否可以再提升一下,从而能够在更多的场合中被复用。如果能被提升,那么该如何提升?抽象层次如何提高?删除哪些?保留哪些?是否需要引入泛型参数?是否要设计为abstract类,等等。当有了足够多的这种体验之后,你就会形成一种习惯,这种习惯会帮助你成为一个优秀的可复用类库的设计者和开发者。
ESBasic基于.NET 2.0(开发环境为VS2008),最新版本为2.0。任何反馈及意见可以Email给我:sky.zhuwei@163.com ,谢谢。
ESBasic介绍目录预览:
ESBasic在codeplex上开源,采用MS-PL开源协议,下载源码及详情请参见:http://esbasic.codeplex.com/
讨论关于ESBasic的相关问题,可以加入QQ群:37677395。
- ESBasic 可复用的.NET类库(00) -- 开源前言
- ESBasic 可复用的.NET类库(10) -- 简易的读写锁 SmartRWLocker
- ESBasic 可复用的.NET类库(01) -- 时刻 ShortTime
- ESBasic 可复用的.NET类库(08) -- 定时任务管理器 TimingTaskManager
- ESBasic 可复用的.NET类库(07) -- 回调定时器ICallbackTimer
- ESBasic 可复用的.NET类库(06) -- 循环任务切换器 CircleTaskSwitcher
- ESBasic 可复用的.NET类库(05) -- 工作者引擎 IWorkerEngine
- ESBasic 可复用的.NET类库(04) -- 循环引擎 ICycleEngine
- ESBasic 可复用的.NET类库(03) -- 圈 Circle
- ESBasic 可复用的.NET类库(02) -- 日期 Date
- ESBasic 可复用的.NET类库(01) -- 时刻 ShortTime
- ESBasic 可复用的.NET类库(11) -- 双向映射 IBidirectionalMapping
- ESBasic 可复用的.NET类库(09) -- 心跳监测器 IHeartBeatChecker
- ESBasic 可复用的.NET类库(12) -- 对象管理器 IObjectManager
- ESBasic 可复用的.NET类库(13) -- 分组对象管理器 IGroupingObjectManager
- ESBasic 可复用的.NET类库(14) -- 优先级管理器 IPriorityManager
- ESBasic 可复用的.NET类库(15) -- 对象池 IObjectPool
- ESBasic 可复用的.NET类库(16) -- 定时刷新缓存管理器 IRefreshableCacheManager
- ESBasic 可复用的.NET类库(05) -- 工作者引擎 IWorkerEngine
- ESBasic 可复用的.NET类库(04) -- 循环引擎 ICycleEngine
- ESBasic 可复用的.NET类库(03) -- 圈 Circle
- ESBasic 可复用的.NET类库(02) -- 日期 Date
- ESBasic 可复用的.NET类库(01) -- 时刻 ShortTime
- ESBasic 可复用的.NET类库(00) -- 开源前言
- 在应用程序之间传递动态程序集
- 关于【对象“***.rem”已经断开连接或不在服务器上】异常的解决方法
- DataRabbit 企业级数据访问框架(21)-- DataRabbit 4.0 & DataRabbit 与三层架构融合Demo源码
- DCFramework 动态分布式计算框架(01)-- 基础结构
- DCFramework 动态分布式计算框架(00) -- 序
- TopN算法与排行榜
- 我的架构经验小结(四)-- 实战中演化的三层架构
- DataRabbit 轻量的数据访问框架(20)-- 实时同步的实体缓存 SyncEntityCache