看了为WebForms说几句话,以及一些ASP.NET开发上的经验(上)为 MVC 和 Web Form 正名的一份“大字报” 的相关评论。
MVC作为架构层面的模式大量应用软件开发中,就是采用WebForm方式,大家也都会应用MVC模式去运用。在微软没有计划asp.net mvc之前,在.net社区中也存在多种MVC模式的asp.net 实现,例如Maverick.NETMonoRail等。就是使用webform做开发,都是尽量按照MVC模式进行软件的开发,在msdn也有相应的文章Page Controller(页面控制器)FrontController(前端控制器),这些文章都是2004年的老文章了,当有人向微软相关人士询问asp.net为什么没有对mvc提供支持,ms人士的回答是:aspx和aspx.cs页面就是mvc模式了。
MVC模式本来是架构层面的一个架构模式,不是WebForms和MVC的根本区别。只是他们对MVC的支持程度的问题。同一个问题有多种解决方案是非常好的事,我们所处的微软生态环境下,扮演的是微软的好孩子,开源社区有非常好的解决方案在微软插足的时候不会得到应有的重视。难道这是国内的.net区别java的最大特点。MonoRail在社区已经存在多年,而且社区(国外)很活跃,上面也有非常的应用。然而在国内并不活跃,我算是活跃分子,我一直在关注.net开源社区,monorail我自然也在使用,当然我也在使用webform。当然我也一直在Castle框架,Castle框架最大的一个特性当然就是依赖注入的IOC了,这是一个重要的设计模式。微软到目前为止还没有提供足够的支持,当然微软现在在行动,微软的架构和模式团队开发的企业类库,大家一定非常的熟悉,在微软Enterprise Library 1.0只是将几个常使用模块组合起来,各个模块之间的依赖关系非常的强,也就是耦合性非常强,微软Enterprise Library 2.0同样这几个模块,但是做了重新的设计,引入了组件ObjectBuilder,我就写了MS 的IOC容器(ObjectBuilder)?,虽然ObjectBuilder具备了IOC的基本特征,但是他同Castle框架比起来相差太远了,Castle可以是完整的开发框架,微软Enterprise Library 4.0将支持依赖注入 。是否还需要来讨论依赖注入是否值得?
自由、创新、研究、探索……