ESBasic 可复用的.NET类库(00) -- 开源前言(附下载)
2009-08-25 09:54
357 查看
自从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介绍目录预览:
![](http://images.cnblogs.com/cnblogs_com/zhuweisky/ESBasic.Intro.JPG)
ESBasic已经开源,点击这里下载源码。
最后有一点需要说明一下,ESBasic很好的满足了我当前工作的需求 -- 这也是它之所以出现的原因,也是我的主要目的。但它并不是一个完善的库,从任何角度(如内容、设计等方面)来看,它都还有待改进的地方,我将其开源出来的目的只是为了抛砖引玉,给大家做个参考。
ESBasic覆盖的内容包括:对象管理、插件、网络(Socket)、多线程、Emit与AOP、及相关助手类和基础类型。后面的博文会一一介绍ESBasic中每个重要类的缘起、适用场合、设计思想与实现、使用时的注意事项、扩展等。
类库的本质是复用,最大的价值在于实用,设计一个漂亮却不实用的艺术品也许可以做Demo,但是被复用的价值已经失去了。
所谓复用的精髓,在于抽象――要抽象得恰到好处。不能太抽象,太抽象的只是概念,无法被直接使用;抽象层次也不能太低,否则,就容易与具体的应用绑定在一起,从而限制了复用的场合和范围。“高内聚,低耦合”是我们在设计可复用类时必须要遵守的原则。
OO本身就是一种抽象的思维,但是要“创造”出可复用的类,仅仅依靠OO的思想是不够的,你的思维需要不断地锻炼――经常想一想,这个类是否可以再提升一下,从而能够在更多的场合中被复用。如果能被提升,那么该如何提升?抽象层次如何提高?删除哪些?保留哪些?是否需要引入泛型参数?是否要设计为abstract类,等等。当有了足够多的这种体验之后,你就会形成一种习惯,这种习惯会帮助你成为一个优秀的可复用类库的设计者和开发者。
ESBasic基于.NET 2.0(开发环境为VS2008),最新版本为2.0。任何反馈及意见可以Email给我:sky.zhuwei@163.com ,谢谢。
ESBasic介绍目录预览:
ESBasic已经开源,点击这里下载源码。
最后有一点需要说明一下,ESBasic很好的满足了我当前工作的需求 -- 这也是它之所以出现的原因,也是我的主要目的。但它并不是一个完善的库,从任何角度(如内容、设计等方面)来看,它都还有待改进的地方,我将其开源出来的目的只是为了抛砖引玉,给大家做个参考。
相关文章推荐
- ESBasic 可复用的.NET类库(00) -- 开源前言
- ESBasic 可复用的.NET类库(25) -- 增量自动获取器 IIncreaseAutoRetriever
- ESBasic 可复用的.NET类库(15) -- 对象池 IObjectPool
- ESBasic 可复用的.NET类库(04) -- 循环引擎 ICycleEngine
- ESBasic 可复用的.NET类库(05) -- 工作者引擎 IWorkerEngine
- 日期 Date--ESBasic 可复用的.NET类库(02)
- ESBasic 可复用的.NET类库(24) -- 层级结构缓存IHiberarchyCache
- ESBasic 可复用的.NET类库(12) -- 对象管理器 IObjectManager
- ESBasic 可复用的.NET类库(13) -- 分组对象管理器 IGroupingObjectManager
- 回调定时器ICallbackTimer --ESBasic 可复用的.NET类库(07)
- 简易的读写锁 SmartRWLocker--ESBasic 可复用的.NET类库(10)
- 分组对象管理器 IGroupingObjectManager--ESBasic 可复用的.NET类库(13)
- 遵循Spring大纲的XML(反)序列化 SpringFox --ESBasic 可复用的.NET类库(27)
- ESBasic 可复用的.NET类库(09) -- 心跳监测器 IHeartBeatChecker
- 时刻 ShortTime --ESBasic 可复用的.NET类库(01)
- 热缓存 IHotCache --ESBasic 可复用的.NET类库(19)
- ESBasic 可复用的.NET类库(16) -- 定时刷新缓存管理器 IRefreshableCacheManager
- ESBasic 可复用的.NET类库(01) -- 时刻 ShortTime
- 循环引擎 ICycleEngine --ESBasic 可复用的.NET类库(04)
- 圈 Circle--ESBasic 可复用的.NET类库(03)