ASP.NET 2.0“插件”说(转载)

    在 ASP.NET 2.0的新特性中,最“耀眼”的也就是母版页、主题/皮肤、成员资格和角色管理、用户自定义属性以及 WebPart之页面个性化设置。除了前两项,其余都是建立在***Provider提供的服务之上。
    这些Provider(类)在微软文档中一般是这样定义的:为...提供...服务,似乎与一般的控件类等一样,拿来用就是了。其实这些Provider(类)已经十分强烈地暗示微软.NET的一个发展方向,这个方向就是(你的网站)应用程序“插件”化。
    “插件”是老小弟为了形象方便地说明问题而借用的,并不一定精确严密并且与微软文档中“插件”概念是不同的。
    下面老小弟从软、硬件这两个角度简单地说说称其为“插件”的缘由:
    从硬件角度考虑:如果想象一下PC,是不是可以把web.config 看作是“主板”,而这些Provider就是插在主板上的显卡、声卡、网卡...。更抽象一些可以认为这些Provider其实相当于驱动程序Driver。微软为我们提供了Microsoft品牌的SqlMembershipProvider、SqlRoleProvider、SqlProfileProvider、SqlPersonalizationProvider等Provider,也允许我们在web.config中重新指定来替换它们(相当于设置CMOS或做“跳线”)。这就好比不论那种品牌何种型号的显卡(或声卡、网卡等)只要符合兼容性标准,就可以插到主板上使用。
    从软件角度考虑:自从Eclips推出后,开发平台上的“插件”也跟了火了一把(浏览器上可早就有了),一时间Java程序员都在写“插件”了。.NET这边因为有VS.NET所以冲击不是很大,不过“插件”我们也是一样用到了。不知各位兄弟是否注意到VSS就是以“插件”形式与VS.NET集成的,更纯粹的例子就是Borland Togather for .NET。从这些集成到IDE的“插件”上我们可以看出“插件”提供的是一种功能扩展和升级/替换,现在依托这些Provider,我们自己开发的网站程序也能“插件”化了。譬如:如果不需要页面个性化设置(WebPart)功能,我们就不必“安装”PersonalizationProvider(其实应该反过来说,需要什么功能才“安装”什么Provider,不过现在都是统统预先装好的)。
    那么以后应用程序开发是不是就像电脑市场装机一样,拼拼装装就可以了呢?
    回答是肯定的:微软在展示其VSTS(Visual Studio Team System)产品时,就这样玩了一把,一行代码也不用写,就拼装出一个网站来,并且性能/压力等测试成绩也不差(当然里面并不是只用了“插件”,估计怎么也得叫个构件什么的)。真是比MDA还要MAD啊(开个玩笑)!
    回答也是否定的:在老小弟看来,这终究是个实验室产品,微软工程师是在理想状态下变的一次“魔术”,一方面我们没有微软工程师那么专业,另一方面每个应用都有其特殊的业务需求,说白了就是不一定套用的上。另外,微软提供的Sql系列Provider都是按2层架构实现的,是难以融入当今流行的多层架构的,为此,微软在
http://msdn.microsoft.com/asp.net/downloads/providers/default.aspx?pull=/library/en-us/dnaspp/html/asp2prvdr01.asp
提供了这些Provider的样本代码下载,以便我们能拆成多层实现。

posted on 2006-10-22 20:12  头发乱了  阅读(375)  评论(0编辑  收藏  举报