自从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很好的满足了我当前工作的需求 -- 这也是它之所以出现的原因,也是我的主要目的。但它并不是一个完善的库,从任何角度(如内容、设计等方面)来看,它都还有待改进的地方,我将其开源出来的目的只是为了抛砖引玉,给大家做个参考。