??????? 设计模式,基本上是一个经验总结与策略选择的过程。开发者将开发过程中可重复的设计技术手段总结出来,形成模式,然后在适用的场合应用它们。
??????? 作为一门新生的语言,C#吸取了既有技术的很多优点。并形成了自己的一些特色技术。在实现某些模式时,具有形式上的优势。设计一些类库(通常这会大量用到模式),C#有几个比较令我满意的地方:
1、类在命名空间中的可见级别是可以定义的,在实际工作中,我就大量使用internal级别的类和结构,有效保证了代码的保护级别;
2、类成员可以选择多种不同的可见级别,完整的可见层次分划在类库设计时非常有用。难以想象如果没有私有和保护级别的构造函数,我如何定义严格的单例和工厂模式;
3、C#的一些特色语法确实可以减少编码量,提高开发和运行效率,如委托(据说一个委托实现在编译后只需要两行IL代码,效率非常高)、属性(property)、属性信息(Atrribute,这个老实讲我还没有用过,不过感觉在设计框架时会非常有用)……我们可以在以后的讨论中涉及这些内容;
4、C#可以充分利用.net框架的资源,其实语言与平台的深度绑定到底是好是坏,一直也是有争议的,不过既成事实,我们也就只有充分利用这一点,充分掌握.net框架,还是可以为我们的工作带来很多便利的;
5、C#拥有方便实用的异常保护结构,这一点也许在类库设计是不是很重要(拥有完整的异常定义能力更重要吧),但是我们知道异常可以得到有效管理后,也就可以放心的在需要的地方使用异常技术了。
其它技术点还有一些,在这里就不一一说明了,讨论中有涉及再慢慢讨论。毕竟模式本身是一门语言无关的技术。我们讨论的只是它具体在C#里的应用而已。