自从 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的相关问题,可以加入:37677395。